9.2.5 | Registrierung |
Neben der Definition der Methoden, die beim Eintreten eines Ereignisses ausgeführt werden, muss sich ein Objekt bei der entsprechenden Ereignisquelle registrieren. Dies geschieht durch Aufruf der addXXXListener-Methode der Ereignisquelle, wobei »XXX« für den entsprechenden Ereignis-Typ steht. Die addXXXListener-Methoden erwarten alle einen Verweis auf das zugehörige Interface. Im folgenden Beispiel wird eine Implementierung des ActionListener-Interfaces vorgenommen:import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class ActionApplet extends Applet implements ActionListener { private Button b; public ActionFrame() { b = new Button("Java"); b.addActionListener(this); add("Center",b); } public void actionPerformed(ActionEvent e) { System.out.println("Action in Button Java"); } }Wie das Beispiel zeigt, implementiert hier die Klasse ActionApplet das Interface ActionListener. Dadurch erlangt ActionApplet die Eigenschaft, auf einen ActionEvent reagieren zu können. Durch den Aufruf der Methode addActionListener(ActionListener) erfolgt die Registrierung. addActionListener(ActionListener) besitzt einen Parameter vom Typ ActionListener.
Der Verweis auf das Interface ActionListener wird in diesem Fall über den this-Operator bereitgestellt. Wenn man nun den Button drückt, wird automatisch die Methode actionPerformed(ActionEvent) von der Ereignisquelle aufgerufen.