Ein Ereignis-Listener in Java kann eine Art Ereignis verarbeiten - er "lauscht" auf ein Ereignis, 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 erzeugen können (genannt Ereignisobjekte), Wie die Bereitstellung eines JButton für einen Benutzer zum Klicken oder a JTextField in die ein Benutzer Text eingeben kann. Die Aufgabe des Ereignis-Listeners ist es, diese Ereignisse zu erfassen und etwas damit zu tun.
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. Jedes Mal, wenn ein Benutzer mit einer Maus auf etwas klickt, das durch die Java-Klasse dargestellt wird MouseEvent. Um diese Art von Ereignis zu behandeln, müssen Sie zuerst eine erstellen MouseListener Klasse, die Java implementiert MouseListener Schnittstelle. Diese Schnittstelle hat fünf Methoden; Implementieren Sie die, die sich auf die Art der Mausaktion bezieht, die Ihr Benutzer voraussichtlich ausführen wird. Diese sind:
nichtig mouseClicked (MouseEvent e)
void mouseEntered (MouseEvent e)
void mouseExited (MouseEvent e)
nichtig mousePressed (MouseEvent e)
void mouseReleased (MouseEvent e)
Wie Sie sehen, hat jede Methode einen einzelnen Ereignisobjektparameter: das spezielle Mausereignis, für das sie entwickelt wurde. In deiner MouseListener Klasse, du registrieren um eines dieser Ereignisse zu "hören", damit Sie informiert werden, wenn sie auftreten.
Wenn das Ereignis ausgelöst wird (z. B. klickt der Benutzer mit der Maus gemäß der mouseClicked () Methode oben), eine relevante MouseEvent Das Objekt, das dieses Ereignis darstellt, wird erstellt und an das Objekt übergeben MouseListener Objekt registriert, um es zu erhalten.
Ereignis-Listener werden durch verschiedene Schnittstellen dargestellt, von denen jede ein gleichwertiges Ereignis verarbeiten soll.
Beachten Sie, dass Ereignis-Listener dahingehend flexibel sind, dass ein einzelner Listener registriert werden kann, um mehrere Ereignistypen "abzuhören". Dies bedeutet, dass für einen ähnlichen Satz von Komponenten, die denselben Aktionstyp ausführen, ein Ereignis-Listener alle Ereignisse verarbeiten kann.
Hier sind einige der häufigsten Typen: