Ja. Das System weiß nicht welche Ereignisse
ignoriert werden,
also erzeugt es für jedes Ereignis einen Event
.
Ein Button-Listener muss die Schnittstelle ActionListener
implementieren.
Ein ActionListener
ist eine Schnittstelle (keine Klasse),
die eine einzige Methode enthält:
public void actionPerformed( ActionEvent evt) ;
Eine Klasse, die diese Schnittstelle implementiert muss
eine actionPerformed()
Methode enthalten.
Der ActionEvent
-Parameter
ist ein Event
-Objekt,
das ein Ereignis (einen Buttonklick) repräsentiert.
Es enthält Informationen, die verwendet werden können,
um auf das Ereignis zu reagieren.
Wir importieren das Paket java.awt.event.*
,
wenn wir Ereignisse behandeln möchten.
import java.awt.*; import java.awt.event.*; import javax.swing.*; class ButtonFrame2 extends JFrame implements ActionListener { JButton bChange; ButtonFrame2() { . . . . . . } // Listener-Methode der Schnittstelle ActionListener public void actionPerformed( ActionEvent evt) { . . . . . . } }
Das Listener-Objekt könnte in einer eigenen Klasse definiert werden. In unserem Beispiel enthält die Klasse mit der Komponente auch den Listener für die Ereignisse.
Unsere überarbeitete Klasse ButtonFrame2
sagt,
dass sie die Schnittstelle ActionListener
implementiert.
Was bedeutet das?