ActionListener reagiert auf Knopfdruck ohne Actionevent e?

2 Antworten

An action event occurs, whenever an action is performed by the user. Examples: When the user clicks a button, chooses a menu item, presses Enter in a text field. The result is that an actionPerformed message is sent to all action listeners that are registered on the relevant component.

Quelle

So lässt es sich bei deinem Beispielprogramm auch nachstellen. Bei Klick auf den Button wird der Text des Labels verändert.

Das Event Management wird von Swing implizit erledigt. Du brauchst nur einen Listener an die Komponente hängen, welcher einen Handler (actionPerformed) für das entsprechende Event registriert. Sobald eine Komponente ein Event auslöst, durchläuft sie alle ihre bekannten Listener-Objekte und ruft die entsprechende Handler-Methode auf.

Die Methode selbst wird immer dann aufgerufen, wenn auf den Button geklickt wird. Das Event wird dann quasi von Java erzeugt und der Methode übergeben, damit du damit arbeiten kannst. Im Gegensatz zu deinem restlichen Code, wird die Methode also nicht von dir aufgerufen, sondern automatisch, wenn geklickt wird. So wird der Code ausgeführt, ohne das du die Methode explizit aufrufst und/oder das ActionEvent selbst erzeugst.