import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class BuchErfassung extends JDialog 
{
  	private Buch b_intern;
  
  	//GUI spezifisches
  	JLabel l_Titel;
  	JTextField tF_Titel;
  	JLabel l_Preis;
  	JTextField tF_Preis;
  	JButton b_speichern;
  	JButton b_ende;
  

  	//Konstruktor
  	public BuchErfassung(JFrame parent, Buch buch)
  	{ 
  		super(parent);
	
    		b_intern = buch;

		this.getContentPane().setLayout(null);
    		this.setTitle("Buch Erfassungsfenster");
    		this.setBackground(SystemColor.activeCaptionBorder);
    		this.setSize(300,200);
    		this.setDefaultCloseOperation(HIDE_ON_CLOSE);
  
    		l_Titel = new JLabel();
    		this.getContentPane().add(l_Titel);
    		l_Titel.setFont(new java.awt.Font("SansSerif", 1, 18));
    		l_Titel.setText("Titel :");
    		l_Titel.setBounds(50,30,80,24);
    
    		tF_Titel = new JTextField();
    		this.getContentPane().add(tF_Titel);
    		tF_Titel.setBounds(140,30,120,24);

    		l_Preis = new JLabel();
    		this.getContentPane().add(l_Preis);
    		l_Preis.setFont(new java.awt.Font("SansSerif", 1, 18));
    		l_Preis.setText("Preis :");
    		l_Preis.setBounds(50,56,80,24);

    		tF_Preis = new JTextField();
    		this.getContentPane().add(tF_Preis);
    		tF_Preis.setBounds(140,56,120,24);

    		b_ende = new JButton();
    		this.getContentPane().add(b_ende);
    		b_ende.setText("Ende");
    		b_ende.setBounds(50,110,100,24);

    		b_speichern = new JButton();
    		this.getContentPane().add(b_speichern);
    		b_speichern.setText("Speichern");
    		b_speichern.setBounds(160,110,100,24);

    		if (buch != null) //Test, ob das Buch bereits Attributwerte enthält, die angezeigt werden sollen
    		{
    			this.anzeigen(buch);
		}
    
    		b_ende.addActionListener(
    		new ActionListener() {
    			public void actionPerformed(ActionEvent ae) { setVisible(false); } 
    		}
    		);
    		b_speichern.addActionListener(
    		new ActionListener() {
    			public void actionPerformed(ActionEvent ae) {setVisible(false); speichern();}
    		}
    		);
  	}// Konstruktor

  	public void speichern()
  	{
    		String name;
    		float preis;
    
    		name = tF_Titel.getText().trim();
    		//Preis aus Textfeld auslesen und in float umwandeln
    		try
		{ 
			preis=(Float.valueOf(tF_Preis.getText().trim()).floatValue()); 
		}
    		catch(NumberFormatException nfe) 
		{
			preis = 0;
		}
  
    		if (b_intern == null)
    		{
    			// Buch wird neu angelegt
    			Buch b_neu = new Buch(name, preis);
    			b_intern = b_neu;
    			BuecherVerwaltung.store(b_intern);
    		}// if
    		else
    		{
    			// Attribute des Buches werden geändert
    			b_intern.update(name, preis);
    			BuecherVerwaltung.update(b_intern);
		}// else	
  	}// speichern
  
  
  	public void anzeigen(Buch b)
  	{
    		// Attributwerte werden im GUI angezeigt
  		tF_Titel.setText(b.getName());
    		tF_Preis.setText(b.getPreis()+"");
  	}// anzeigen
}// class: BuchErfassung
