// Einfache graphische Benutzeroberfläche zu einer String-Liste
// Rm, 31/08/2005
// weihsbach 1/10/08
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AdressListe extends JFrame implements ActionListener
{
// start attributes
private JTextField textFeldNachname,textFeldVorname,textFeldStraße,textFeldHausNummer,textFeldPlz,textFeldOrt,textFeldTelefonNummer,textFeldSpeichernUnter;//textFeldSuche;
private JLabel labelNachname,labelVorname,labelStraße,labelHausNummer,labelOrt,labelTelefonNummer,labelPlz,labelSuche,labelSpeichernUnter;
private NamensList dieseListe = new NamensList();
// end attributes
public AdressListe()
{
super("AdressListe");
this.getContentPane().setBackground(Color.lightGray);
this.getContentPane().setLayout(null);
//Textfelder zur Ein- und Ausgabe der Daten
textFeldNachname = new JTextField (20);
textFeldNachname.setBounds (230, 80, 150, 30);
this.getContentPane().add (textFeldNachname);
textFeldVorname = new JTextField (20);
textFeldVorname.setBounds (390, 80, 150, 30);
this.getContentPane().add (textFeldVorname);
textFeldStraße = new JTextField (20);
textFeldStraße.setBounds (230, 160, 150, 30);
this.getContentPane().add (textFeldStraße);
textFeldHausNummer = new JTextField (20);
textFeldHausNummer.setBounds (390, 160, 150, 30);
this.getContentPane().add (textFeldHausNummer);
textFeldPlz = new JTextField (20);
textFeldPlz.setBounds (230, 220, 150, 30);
this.getContentPane().add (textFeldPlz);
textFeldOrt = new JTextField (20);
textFeldOrt.setBounds (390, 220, 150, 30);
this.getContentPane().add (textFeldOrt);
textFeldTelefonNummer = new JTextField (20);
textFeldTelefonNummer.setBounds (230, 300, 150, 30);
this.getContentPane().add (textFeldTelefonNummer);
textFeldSpeichernUnter = new JTextField (20);
textFeldSpeichernUnter.setBounds (390, 300, 150, 30);
textFeldSpeichernUnter.setText ("Dateiname");
this.getContentPane().add (textFeldSpeichernUnter);
//textFeldSuche = new JTextField (20);
//textFeldSuche.setBounds (230, 10, 310, 30);
//textFeldSuche.setText ("Bitte einen Nachnamen eingeben.");
//this.getContentPane().add (textFeldSuche);
//Labels
labelNachname=new JLabel("Nachname");
labelNachname.setBounds(230,50,140,30);
this.add(labelNachname);
labelVorname=new JLabel("Vorname");
labelVorname.setBounds(390,50,140,30);
this.add(labelVorname);
labelStraße=new JLabel("Straße");
labelStraße.setBounds(230,130,140,30);
this.add(labelStraße);
labelHausNummer=new JLabel("Haus Nr.:");
labelHausNummer.setBounds(390,130,140,30);
this.add(labelHausNummer);
labelPlz=new JLabel("Postleitzahl");
labelPlz.setBounds(230,190,140,30);
this.add(labelPlz);
labelOrt=new JLabel("Ort");
labelOrt.setBounds(390,190,140,30);
this.add(labelOrt);
labelTelefonNummer=new JLabel("Telefonnummer");
labelTelefonNummer.setBounds(230,270,140,30);
this.add(labelTelefonNummer);
labelSpeichernUnter=new JLabel("Speichern unter:");
labelSpeichernUnter.setBounds(390,270,140,30);
this.add(labelSpeichernUnter);
//Dialog-Buttons
JButton button2 = new JButton("Einfügen");
button2.setBounds (50, 60, 150, 25);
button2.setBackground (Color.red);
button2.addActionListener(this);
this.getContentPane().add(button2);
JButton button3 = new JButton("Nächster Eintrag");
button3.setBounds (50, 90, 150, 25);
button3.setBackground (Color.red);
button3.addActionListener(this);
this.getContentPane().add(button3);
JButton button4 = new JButton("Vorheriger Eintrag");
button4.setBounds (50, 120, 150, 25);
button4.setBackground (Color.red);
button4.addActionListener(this);
this.getContentPane().add(button4);
JButton button5 = new JButton("zum Anfang");
button5.setBounds (50, 150, 150, 25);
button5.setBackground (Color.red);
button5.addActionListener(this);
this.getContentPane().add(button5);
JButton button6 = new JButton("zum Ende");
button6.setBounds (50, 180, 150, 25);
button6.setBackground (Color.red);
button6.addActionListener(this);
this.getContentPane().add(button6);
JButton button7 = new JButton("Löschen");
button7.setBounds (50, 210, 150, 25);
button7.setBackground (Color.red);
button7.addActionListener(this);
this.getContentPane().add(button7);
JButton button8 = new JButton("Speichern");
button8.setBounds (50, 240, 150, 25);
button8.setBackground (Color.red);
button8.addActionListener(this);
this.getContentPane().add(button8);
JButton button9 = new JButton("Laden");
button9.setBounds (50, 270, 150, 25);
button9.setBackground (Color.red);
button9.addActionListener(this);
this.getContentPane().add(button9);
JButton button11 = new JButton("Suche");
button11.setBounds (50, 10, 150, 30);
button11.setBackground (Color.red);
button11.addActionListener(this);
this.getContentPane().add(button11);
//Ende-Button
JButton buttonEnd = new JButton("Ende");
buttonEnd.setBounds (50, 330, 150, 25);
buttonEnd.setBackground (Color.red);
buttonEnd.addActionListener(this);
this.getContentPane().add(buttonEnd);
//Window-Listener
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
setVisible(false);
dispose();
System.exit(0);
}
});
}
// start methods
public void actionPerformed(ActionEvent event)
{
String cmd = event.getActionCommand();
if (cmd.equals("Suche"))
{
PopupFenster frame = new PopupFenster();
frame.setSize(500,300);
frame.setVisible(true);
//dieseListe.suche(textFeldSuche.getText());
//if(dieseListe.isBehind() == false)
//{
// Eintrag getEintrag = (Eintrag)dieseListe.getItem();
// textFeldNachname.setText (getEintrag.getNachname());
// textFeldVorname.setText (getEintrag.getVorname());
// textFeldStraße.setText (getEintrag.getStraße());
// textFeldHausNummer.setText (getEintrag.getHausNummer());
// textFeldPlz.setText (getEintrag.getPlz());
// textFeldOrt.setText (getEintrag.getOrt());
// textFeldTelefonNummer.setText (getEintrag.getTelefonNummer());
//}
//else
//{
// String aktuellerSuchString=textFeldSuche.getText();
// textFeldSuche.setText("Kein Eintrag für"+" "+"'"+aktuellerSuchString+"'"+" "+"vorhanden");
// textFeldNachname.setText ("");
// textFeldVorname.setText ("");
// textFeldStraße.setText ("");
// textFeldHausNummer.setText ("");
// textFeldPlz.setText ("");
// textFeldOrt.setText ("");
// textFeldTelefonNummer.setText ("");
//}
}
else if (cmd.equals("Einfügen"))
{
Eintrag neuerEintrag = new Eintrag(textFeldNachname.getText(),
textFeldVorname.getText(),
textFeldStraße.getText(),
textFeldHausNummer.getText(),
textFeldPlz.getText(),
textFeldOrt.getText(),
textFeldTelefonNummer.getText());
dieseListe.insert(neuerEintrag);
textFeldNachname.setText ("");
textFeldVorname.setText ("");
textFeldStraße.setText ("");
textFeldHausNummer.setText ("");
textFeldPlz.setText ("");
textFeldOrt.setText ("");
textFeldTelefonNummer.setText ("");
}
else if (cmd.equals("zum Anfang"))
{
dieseListe.toFirst();
if (dieseListe.isBehind())
{
textFeldNachname.setText("Die Liste ist leer!");
textFeldVorname.setText("");
textFeldStraße.setText("");
textFeldHausNummer.setText("");
textFeldPlz.setText("");
textFeldOrt.setText("");
textFeldTelefonNummer.setText("");
}
else
{
Eintrag getEintrag = (Eintrag)dieseListe.getItem(); //Ausgabe der Einträge
textFeldNachname.setText(getEintrag.getNachname()); //
textFeldVorname.setText(getEintrag.getVorname()); //
textFeldStraße.setText(getEintrag.getStraße()); //
textFeldHausNummer.setText(getEintrag.getHausNummer()); //
textFeldPlz.setText(getEintrag.getPlz()); //
textFeldOrt.setText(getEintrag.getOrt()); //
textFeldTelefonNummer.setText(getEintrag.getTelefonNummer());//
}
}
else if (cmd.equals("zum Ende"))
{
dieseListe.toLast();
if (dieseListe.isInFrontOf())
{
textFeldNachname.setText("Die Liste ist leer!");
textFeldVorname.setText("");
textFeldStraße.setText("");
textFeldHausNummer.setText("");
textFeldPlz.setText("");
textFeldOrt.setText("");
textFeldTelefonNummer.setText("");
}
else
{
Eintrag getEintrag = (Eintrag)dieseListe.getItem(); //Ausgabe der Einträge
textFeldNachname.setText(getEintrag.getNachname()); //
textFeldVorname.setText(getEintrag.getVorname()); //
textFeldStraße.setText(getEintrag.getStraße()); //
textFeldHausNummer.setText(getEintrag.getHausNummer()); //
textFeldPlz.setText(getEintrag.getPlz()); //
textFeldOrt.setText(getEintrag.getOrt()); //
textFeldTelefonNummer.setText(getEintrag.getTelefonNummer());//
}
}
else if (cmd.equals("Nächster Eintrag"))
{
dieseListe.next();
if (dieseListe.isBehind())
{
textFeldNachname.setText("Bin hinter der Liste");
textFeldVorname.setText("");
textFeldStraße.setText("");
textFeldHausNummer.setText("");
textFeldPlz.setText("");
textFeldOrt.setText("");
textFeldTelefonNummer.setText("");
}
else
{
Eintrag getEintrag = (Eintrag)dieseListe.getItem(); //Ausgabe der Einträge
textFeldNachname.setText(getEintrag.getNachname()); //
textFeldVorname.setText(getEintrag.getVorname()); //
textFeldStraße.setText(getEintrag.getStraße()); //
textFeldHausNummer.setText(getEintrag.getHausNummer()); //
textFeldPlz.setText(getEintrag.getPlz()); //
textFeldOrt.setText(getEintrag.getOrt()); //
textFeldTelefonNummer.setText(getEintrag.getTelefonNummer());//
}
}
else if (cmd.equals("Vorheriger Eintrag")){
dieseListe.previous();
if (dieseListe.isInFrontOf())
{
textFeldNachname.setText("Bin vor der Liste");
textFeldVorname.setText("");
textFeldStraße.setText("");
textFeldHausNummer.setText("");
textFeldPlz.setText("");
textFeldOrt.setText("");
textFeldTelefonNummer.setText("");
}
else
{
Eintrag getEintrag = (Eintrag)dieseListe.getItem(); //Ausgabe der Einträge
textFeldNachname.setText(getEintrag.getNachname()); //
textFeldVorname.setText(getEintrag.getVorname()); //
textFeldStraße.setText(getEintrag.getStraße()); //
textFeldHausNummer.setText(getEintrag.getHausNummer()); //
textFeldPlz.setText(getEintrag.getPlz()); //
textFeldOrt.setText(getEintrag.getOrt()); //
textFeldTelefonNummer.setText(getEintrag.getTelefonNummer());//
}
}
else if (cmd.equals("Löschen")){
dieseListe.remove();
if (dieseListe.isEmpty())
{
textFeldNachname.setText("Die Liste ist jetzt leer");
textFeldVorname.setText("");
textFeldStraße.setText("");
textFeldHausNummer.setText("");
textFeldPlz.setText("");
textFeldOrt.setText("");
textFeldTelefonNummer.setText("");
}
else
{
Eintrag getEintrag = (Eintrag)dieseListe.getItem(); //Ausgabe der Einträge
textFeldNachname.setText(getEintrag.getNachname()); //
textFeldVorname.setText(getEintrag.getVorname()); //
textFeldStraße.setText(getEintrag.getStraße()); //
textFeldHausNummer.setText(getEintrag.getHausNummer()); //
textFeldPlz.setText(getEintrag.getPlz()); //
textFeldOrt.setText(getEintrag.getOrt()); //
textFeldTelefonNummer.setText(getEintrag.getTelefonNummer());//
}
}
else if (cmd.equals("Speichern"))
{
dieseListe.save(textFeldSpeichernUnter.getText());
}
else if (cmd.equals("Laden"))
{
}
else if (cmd.equals("Ende")) {
setVisible(false);
dispose();
System.exit(0);
}
}
public void setTextFuerTextfeldNachname(String strText)
{
textFeldNachname.setText(strText);
}
// end methods
}