import java.awt.*;
import java.awt.TextField;
import java.awt.Rectangle;

public class Handy extends Frame {

	private static final long serialVersionUID = 1L;
	private TextField tfName = null;
	private Label lbName = null;
	private Checkbox ckKurzwahl = null;
	private Button buAnlegen = null;
	private Label lbTelefonnummer = null;
	private TextField tfTelefonnummer = null;
	private Button buAnzeigen = null;
	Telefonbuch buch = new Telefonbuch();
	private TextField tfOrdnung = null;

	/**
	 * This is the default constructor
	 */
	public Handy() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		
		lbTelefonnummer = new Label();
		lbTelefonnummer.setBounds(new Rectangle(18, 74, 82, 20));
		lbTelefonnummer.setText("Telefonnr.");
		lbName = new Label();
		lbName.setBounds(new Rectangle(18, 44, 82, 20));
		lbName.setText("Name");
		this.setLayout(null);
		this.setSize(516, 200);
		this.setTitle("Ihr ganz persönliches furchtbar großartiges Nummernspeicherprogramm");

		this.add(getTfName(), null);
		this.add(getTfTelefonnummer(), null);
		this.add(lbName, null);
		this.add(lbTelefonnummer, null);
		this.add(getCkKurzwahl(), null);
		this.add(getBuAnlegen(), null);
		this.add(getbuAnzeigen(), null);
		this.add(getTfOrdnung(), null);
	}

	/**
	 * This method initializes tfName	
	 * 	
	 * @return java.awt.TextField	
	 */
	private TextField getTfName() {
		if (tfName == null) {
			tfName = new TextField();
			tfName.setBounds(new Rectangle(120, 44, 120, 20));
		}
		return tfName;
	}

	/**
	 * This method initializes ckKurzwahl	
	 * 	
	 * @return java.awt.Checkbox	
	 */
	private Checkbox getCkKurzwahl() {
		if (ckKurzwahl == null) {
			ckKurzwahl = new Checkbox();
			ckKurzwahl.setBounds(new Rectangle(18, 105, 82, 20));
			ckKurzwahl.setLabel("Kurzwahl?");
		}
		return ckKurzwahl;
	}

	/**
	 * This method initializes buAnlegen	
	 * 	
	 * @return java.awt.Button	
	 */
	private Button getBuAnlegen() {
		if (buAnlegen == null) {
			buAnlegen = new Button();
			buAnlegen.setBounds(new Rectangle(255, 63, 117, 31));
			buAnlegen.setLabel(" Eintrag anlegen!");
			buAnlegen.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(!buch.isFull()){
						buch.eintrag_anlegen(tfName.getText(), tfTelefonnummer.getText(), ckKurzwahl.getState());
						tfName.setText("");
						tfTelefonnummer.setText("");
						
					}
					else
						System.out.println("Das Telefonbuch ist voll - leider nicht mehr als 10 Einträge möglich!");
				}
			});
		}
		return buAnlegen;
	}

	/**
	 * This method initializes tfTelefonnummer	
	 * 	
	 * @return java.awt.TextField	
	 */
	private TextField getTfTelefonnummer() {
		if (tfTelefonnummer == null) {
			tfTelefonnummer = new TextField();
			tfTelefonnummer.setBounds(new Rectangle(120, 74, 120, 20));
		}
		return tfTelefonnummer;
	}

	/**
	 * This method initializes buAnzeigen	
	 * 	
	 * @return java.awt.Button	
	 */
	private Button getbuAnzeigen() {
		if (buAnzeigen == null) {
			buAnzeigen = new Button();
			buAnzeigen.setBounds(new Rectangle(120, 145, 120, 20));
			buAnzeigen.setLabel("Nummer anzeigen");
			buAnzeigen.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					int Nr = Integer.parseInt(tfOrdnung.getText());
					if((Nr>0)&&(Nr<11)){
						Eintrag meinEintrag = buch.eintrag_ausgeben(Nr);
						if (meinEintrag!=null){
							tfName.setText(meinEintrag.getName());
							tfTelefonnummer.setText(meinEintrag.getTelefonnummer());
							ckKurzwahl.setState(meinEintrag.getKurzwahl());
						}
					}
					else
						System.out.println("Bitte eine Nummer von 1 bis 10 abfragen.");
				}
			});
		}
		return buAnzeigen;
	}

	/**
	 * This method initializes tfOrdnung	
	 * 	
	 * @return java.awt.TextField	
	 */
	private TextField getTfOrdnung() {
		if (tfOrdnung == null) {
			tfOrdnung = new TextField();
			tfOrdnung.setBounds(new Rectangle(18, 145, 82, 20));
		}
		return tfOrdnung;
	}

}  //  @jve:decl-index=0:visual-constraint="15,14"
