All pastes #897760 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-02-09 20:33 UTC
rendered paste body
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

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;
	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);
		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(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
	    {
		  
		   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);
		pw.write(info.getText());
		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();
		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 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();
		
		
	}
	
	
	
	
	
	
	
}