Lernpfad GUI-Programmierung mit dem Java-Editor

2.5 Ereignisse

Nun muss man die bisher erstellte GUI mit etwas Leben füllen. Natürlich soll, wenn die Buttons angeklickt werden, eine Aktion passiern. Basisereignisse wie Taste gedrückt, Mausknopf gedrückt und Mausknopf losgelassen werden von den Klassen des AWT verwaltet und den einzelnen Komponenten wie den Buttons zur Verfügung gestellt. In unserer GUI-Klasse muss nun in Form eines Methodenrumpfes festgelegt werden, was bei den betreffenden Ereignissen geschehen soll. Die Methoden heißen
... actionPerformed

Der Java-Editor hilft die jeweils passende Methode zu finden. Markiert man den gewünschten Button, hier der buttonSommerzeit und geht man auf den Reiter Ereignisse, so sieht man in der rechten Spalte den Namen der passenden Methode, hier buttonSommerzeit_ActionPerformed:

Es gibt sogar noch mehr Hilfe. Mit einem Doppelklick auf den Methodennamen wird im Quelltextfenster die betreffende Zeile angezeigt und der Methodenname markiert:

public void buttonSommerzeit_ActionPerformed(ActionEvent evt) {
// TODO hier Quelltext einfügen
}

Der Kommentar "// TODO hier Quelltext eingeben" zeigt deutlich an, dass in deisem Methodenrumpf nun die Anweisungen formuliert werden müssen, die bei einem Klick auf den Button ausgeführt werden müssen.

In dem frühen Stadium unseres Projekts haben wir noch keine Zeitanzeige. Damit aber trotzdem bei einem Klick auf einen der Button etwas passiert erzeugen wir noch ein Label, wir geben ihm den Namen Ausgabe, für die Ausgabe. Man kann die Beschriftung, d.h. das Attribut Text, dieses Labels zunächst leer lassen. 200 Pixel ist eine sinnvolle Breite.

Jedes Label hat die Methode setText(String textNeu). Über einen Methodenaufruf in Punktnotation lässt sich nun bei einem Klick auf den buttonSommerzeit eine Nachricht ausgeben. Dazu muss man den Rumpf der zum Button gehörigen ActionPerformed-Methode mit dem Methodenaufruf

Ausgabe.setText("buttonSommerzeit wurde gedrückt");

füllen. Für den buttonSommerzeit lautet die ActionPerformed-Methode dann wie folgt.

public void buttonSommerzeit_ActionPerformed(ActionEvent evt)
{
     Ausgabe.setText("buttonSommerzeit wurde gedrückt");
}

Analog dazu verfährt man für ActionPerformed Methode des buttonWinterzeit. Nach einem Klick auf die Sommerzeit, Schaltfläche sieht unsere GUI wie folgt aus: