import java.awt.*;
import java.awt.event.*;
public class AnmeldungAction extends Frame implements ActionListener{
/*
* Buttons, Label und Panels werden erzeugt.
*/
private Button bAnmelden = new Button("anmelden");
private Button bExit = new Button("exit");
private String text = "Geben sie bitte Ihren Namen ein.";
private TextField status = new TextField(text);
private Label meldung = new Label();
private Panel ausgabe = new Panel();
private Panel buttons = new Panel();
/**
* @param title:String, width:int, height:int,
* Konstruktor, da Anmeldung von Frame erbt, sind alle Mehtoden von Frame in Anmeldung enthalten.
* Dem Konstruktor der Superklasse wird der Titel übergeben.
* Layouts werden gesetzt und Buttons hinzugefügt.
* Auch werden die ActionListener den Buttons angefügt.
*/
public AnmeldungAction(String title,int width, int height){
super(title);
setSize(width,height);
setResizable(false);
bAnmelden.addActionListener(this);
bExit.addActionListener(this);
buttons.setLayout(new GridLayout(2,0));
buttons.add(bAnmelden);
buttons.add(bExit);
ausgabe.setLayout(new BorderLayout());
ausgabe.add(status,BorderLayout.NORTH);
ausgabe.add(meldung,BorderLayout.CENTER);
ausgabe.add(buttons,BorderLayout.SOUTH);
this.add(ausgabe);
setVisible(true);
}
public static void main(String[] args){
Frame fenster = new Anmeldung("Hallo Welt",200,150);
}
/**
* @param e:ActionEvent
* Sobald der Button gedrückt wird, "wirft" der Actionlistener ein ActionEvent und actionPerformed
* "fängt" dieses auf.
* Anders als in Anmeldung werden hier nun die Beschriftungen verglichen und entspechende Aktivitäten ausgeführt.
* @see anmelden();
*/
public void actionPerformed(ActionEvent e){
if (e.getActionCommand().equals("anmelden")){
anmelden();
}else if (e.getActionCommand().equals("exit")){
System.exit(0);
}
}
/*
* Holt sich den Text im Textfield und gibt je nach Eingabe den Status aus, oder erbittet wiederholte Eingabe.
* Setzt den Text wieder auf den Standardtext.
*/
private void anmelden(){
if(status.getText().equals(text))
meldung.setText("Bitte Namen eingeben.");
else
meldung.setText("Guten Tag "+status.getText());
status.setText(text);
}
}