Ein Ereignis-Listener in Java wurde entwickelt, um eine Art Ereignis zu verarbeiten - es "lauscht" auf ein Ereignis, wie z. B. einen Mausklick eines Benutzers oder einen Tastendruck, und reagiert dann entsprechend. Ein Ereignis-Listener muss mit einem Ereignisobjekt verbunden sein, das das Ereignis definiert.
Zum Beispiel grafische Komponenten wie a JButton oder JTextField sind bekannt als Ereignisquellen. Dies bedeutet, dass sie Ereignisse generieren können (aufgerufen Ereignisobjekte), wie z JButton für einen Benutzer zu klicken, oder a JTextField in dem ein Benutzer Text eingeben kann. Der Ereignis-Listener hat die Aufgabe, diese Ereignisse zu erfassen und etwas damit zu tun.
Wie Event Listener funktionieren
Jede Ereignis-Listener-Schnittstelle enthält mindestens eine Methode, die von der entsprechenden Ereignisquelle verwendet wird.
Betrachten wir für diese Diskussion ein Mausereignis, d. H. Immer dann, wenn ein Benutzer mit einer Maus auf etwas klickt, das durch die Java-Klasse dargestellt wird
MouseEvent. Um diese Art von Ereignis zu behandeln, erstellen Sie zunächst ein MouseListener Klasse, die Java implementiert MouseListener Schnittstelle. Diese Schnittstelle verfügt über fünf Methoden. Implementieren Sie diejenige, die sich auf die Art der Mausaktion bezieht, die Ihr Benutzer voraussichtlich ausführen wird. Diese sind:-
void mouseClicked (MouseEvent e)
Wird aufgerufen, wenn die Maustaste auf eine Komponente geklickt (gedrückt und losgelassen) wurde. -
void mouseEntered (MouseEvent e)
Wird aufgerufen, wenn die Maus eine Komponente betritt. -
void mouseExited (MouseEvent e)
Wird aufgerufen, wenn die Maus eine Komponente verlässt. -
void mousePressed (MouseEvent e)
Wird aufgerufen, wenn eine Maustaste auf eine Komponente gedrückt wurde. -
void mouseReleased (MouseEvent e)
Wird aufgerufen, wenn eine Maustaste für eine Komponente losgelassen wurde
Wie Sie sehen können, verfügt jede Methode über einen einzelnen Ereignisobjektparameter: das jeweilige Mausereignis, für das sie entwickelt wurde. In deiner MouseListener Klasse, du registrieren eines dieser Ereignisse "anzuhören", damit Sie informiert werden, wenn sie auftreten.
Wenn das Ereignis ausgelöst wird (z. B. klickt der Benutzer mit der Maus gemäß dem mouseClicked () Methode oben), eine relevante MouseEvent Das Objekt, das dieses Ereignis darstellt, wird erstellt und an das übergeben MouseListener Objekt registriert, um es zu erhalten.
Arten von Ereignis-Listenern
Ereignis-Listener werden durch verschiedene Schnittstellen dargestellt, von denen jede für die Verarbeitung eines äquivalenten Ereignisses ausgelegt ist.
Beachten Sie, dass Ereignis-Listener flexibel sind, da ein einzelner Listener registriert werden kann, um mehrere Arten von Ereignissen "abzuhören". Dies bedeutet, dass für einen ähnlichen Satz von Komponenten, die dieselbe Art von Aktion ausführen, ein Ereignis-Listener alle Ereignisse verarbeiten kann.
Hier sind einige der häufigsten Typen:
- ActionListener: Hört auf eine ActionEventd.h. wenn auf ein grafisches Element geklickt wird, beispielsweise auf eine Schaltfläche oder ein Element in einer Liste.
- ContainerListener: Hört auf a ContainerEventDies kann auftreten, wenn der Benutzer ein Objekt zur Schnittstelle hinzufügt oder daraus entfernt.
- KeyListener: Hört auf a Schlüsselereignis in dem der Benutzer eine Taste drückt, tippt oder loslässt.
- WindowListener: Hört auf a WindowEventZum Beispiel, wenn ein Fenster geschlossen, aktiviert oder deaktiviert wird.
- MouseListener: Hört auf a MouseEventB. wenn eine Maus angeklickt oder gedrückt wird.