rendered paste bodyimport java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class Brukergrensesnitt extends JFrame implements ActionListener
{
private JTextField forfatterFelt,sideantallFelt,prisFelt,fagområdetFelt,skolefagFelt,klassetrinnFelt,sjangerFelt,
målformFelt,språkFelt;
private JButton regFag,regSkole,regNorsk,regUtenlandsk,visBokregister,Lagre,Slett,visdir,åpne;
private JTextArea info,brows,feilmld;
private Bokregister register;
public Brukergrensesnitt ()
{
super ("Bokregistervindu");
register = new Bokregister();
forfatterFelt = new JTextField(10);
sideantallFelt = new JTextField(10);
prisFelt = new JTextField(4);
fagområdetFelt = new JTextField(8);
skolefagFelt = new JTextField(8);
klassetrinnFelt = new JTextField(5);
sjangerFelt = new JTextField(8);
målformFelt = new JTextField(2);
språkFelt = new JTextField(8);
regFag = new JButton("Registrer fagbok");
regFag.addActionListener( this );
regSkole = new JButton("Registrer skolebok");
regSkole.addActionListener( this );
regNorsk = new JButton("Registrer norsk roman");
regNorsk.addActionListener( this );
regUtenlandsk = new JButton("Registrer utenlandsk roman");
regUtenlandsk.addActionListener( this );
visBokregister = new JButton("Vis bokregister");
visBokregister.addActionListener( this );
Lagre = new JButton("Lagre");
Lagre.addActionListener(this);
Slett = new JButton("Slett");
Slett.addActionListener(this);
visdir = new JButton("Visfiler");
visdir.addActionListener(this);
åpne = new JButton("Åpne");
åpne.addActionListener(this);
info = new JTextArea(20,35);
info.setEditable( false );
brows = new JTextArea(5,35);
brows.setEditable(false);
feilmld = new JTextArea(3,35);
feilmld.setEditable(false);
lagLayout();
setDefaultCloseOperation( WindowConstants.DO_NOTHING_ON_CLOSE );
setSize( 450, 250 );
setLocation( 600, 0 );
setVisible( true );
}
public void lagLayout()
{
Container c = getContentPane();
c.setLayout( new FlowLayout() );
c.add( new JLabel( "Forfatter" ) );
c.add( forfatterFelt );
c.add(new JLabel( "Sideantall"));
c.add( sideantallFelt);
c.add( new JLabel ("Pris"));
c.add(prisFelt);
c.add(new JLabel ("Fagområdet"));
c.add(fagområdetFelt);
c.add(new JLabel("Skolefag"));
c.add(skolefagFelt);
c.add(new JLabel ("Klassetrinn"));
c.add(klassetrinnFelt);
c.add(new JLabel ("Sjanger"));
c.add(sjangerFelt);
c.add(new JLabel("Målform(b = bokmål,n = nynorsk)"));
c.add(målformFelt);
c.add(new JLabel ("Språk"));
c.add(språkFelt);
c.add(regFag);
c.add(regSkole);
c.add(regNorsk);
c.add(regUtenlandsk);
c.add(visBokregister);
c.add(Lagre);
c.add(Slett);
c.add(visdir);
c.add(brows);
c.add(åpne);
c.add(new JScrollPane(brows));
c.add(feilmld);
c.add(new JScrollPane(feilmld));
c.add(info);
c.add(new JScrollPane(info));
}
public void RegisterFag()
{
try {
String forfatter = forfatterFelt.getText();
int SideAntall = Integer.parseInt(sideantallFelt.getText());
int Pris = Integer.parseInt(prisFelt.getText());
String Fag = fagområdetFelt.getText();
Bok fb = new Fagbok(forfatter,SideAntall,Pris,Fag);
register.settInn(fb);
info.setText("Fagbok er registrert"+ "\n");
}catch(Exception e)
{
feilmld.setText("Skriv inn tekst først for Fagbok");
}
}
public void RegisterSkole()
{
try {
String forfatter = forfatterFelt.getText();
int SideAntall = Integer.parseInt(sideantallFelt.getText());
int Pris = Integer.parseInt(prisFelt.getText());
int Klasse = Integer.parseInt(klassetrinnFelt.getText());
String Fag = fagområdetFelt.getText();
Bok sk = new Skolebok(forfatter,SideAntall,Pris,Klasse,Fag);
register.settInn(sk);
feilmld.setText("Skolebok er registrert"+ "\n");
}catch(Exception e)
{
feilmld.setText("Skriv inn tekst først for Skolebok");
}
}
public void RegisterNorsk()
{
try {
String forfatter = forfatterFelt.getText();
int SideAntall = Integer.parseInt(sideantallFelt.getText());
int Pris = Integer.parseInt(prisFelt.getText());
String Sjanger = sjangerFelt.getText();
String målform = målformFelt.getText();
Roman nr = new NorskRoman(forfatter,SideAntall,Pris,Sjanger,målform);
register.settInn(nr);
feilmld.setText("Norsk roman er registrert"+ "\n");
}catch(Exception e)
{
feilmld.setText("Skriv inn tekst først for Norsk Roman");
}
}
public void RegisterUtenlandsk()
{
try {
String forfatter = forfatterFelt.getText();
int SideAntall = Integer.parseInt(sideantallFelt.getText());
int Pris = Integer.parseInt(prisFelt.getText());
String Sjanger = sjangerFelt.getText();
String språk = språkFelt.getText();
Roman ur = new UtenlandskRoman(forfatter,SideAntall,Pris,Sjanger,språk);
register.settInn(ur);
feilmld.setText("Utenlandsk Roman er registrert"+ "\n");
}catch(Exception e)
{
feilmld.setText("Skriv inn tekst først for Utenlandsk Roman");
}
}
public void Info() throws IOException
{
if(info.getText().isEmpty())
feilmld.setText("Det er ingen bøker registrert");
else
info.setText("");
String ifo = register.skrivListe(info);
System.out.println(ifo);
}
int i = 0;
public void LagreFil() throws IOException
{
if(info.getText().isEmpty())
feilmld.setText("Registrer en Bok før du lagrer");
else
{
Lagret();
}
}
public void Lagret() throws IOException
{
String path = "D:\\workspace\\Oppg4uke\\Boks.txt";
File f = new File(path);
FileWriter fw = new FileWriter(f);
BufferedWriter bf = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bf);
String token = info.getText();
StringTokenizer st = new StringTokenizer(token);
while(st.hasMoreTokens())
{
pw.write(st.nextToken() + "\n");
}
pw.close();
if (f.exists())
{
f = new File ("D:\\workspace\\Oppg4uke\\Boks "+ i++ +".txt");
FileWriter fs = new FileWriter(f);
BufferedWriter bs = new BufferedWriter(fs);
PrintWriter ps = new PrintWriter(bs);
ps.write(info.getText());
ps.close();
}
else if(f.createNewFile())
feilmld.setText("Filen er lagret");
else
System.out.println("ERROR");
}
public void Slett()
{
JFileChooser fc = new JFileChooser("D:\\workspace\\Oppg4uke\\");
int result = fc.showOpenDialog(fc);
File file = fc.getSelectedFile();
if(result == JFileChooser.APPROVE_OPTION)
file.delete();
}
public void VisDir()
{
File dir = new File("D:\\workspace\\Oppg4uke\\");
if(dir.isDirectory())
{
File [] files = dir.listFiles();
for(File f : files)
{
if(f.isFile() && !f.isHidden())
brows.append(f.getName() + "\n");
}
}
}
public void Åpne() throws IOException
{
JFileChooser fc = new JFileChooser("D:\\workspace\\Oppg4uke\\");
int result = fc.showOpenDialog(null);
File file = null;
if(result == JFileChooser.APPROVE_OPTION)
file = fc.getSelectedFile();
FileReader fr = new FileReader(file);
BufferedReader bf = new BufferedReader(fr);
String line = bf.readLine();
while(line!=null)
{
info.append(line + " \n");
line = bf.readLine();
bf.close();
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == regFag)
RegisterFag();
else if(e.getSource() == regSkole)
RegisterSkole();
else if(e.getSource() == Lagre)
try {
LagreFil();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
else if(e.getSource() == regNorsk)
RegisterNorsk();
else if(e.getSource() == regUtenlandsk)
RegisterUtenlandsk();
else if(e.getSource() == visBokregister)
try {
Info();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
else if(e.getSource()== Slett)
Slett();
else if(e.getSource() == visdir)
VisDir();
else if(e.getSource() == åpne)
try {
Åpne();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}