Also ich fasse zusammen:
Ein Event ist ein Ereignis, das z.B. durch einen Button (Button = Eventquelle) ausgelöst wird.
Wenn jetzt z.B. ein Button gedrückt wird, dann wird ein Event ausgelöst. Gleichzeitig wird ein "EventObjekt" der jeweiligen Klasse (z.B. ActionEvent) erzeugt.
Jedes "EventObjekt" besitzt eine Referenz zur Quelle des Auslöser, diese Quelle kann mit der Methode "getSource()" abgefragt werden.
Wichtig ist dabei zu Wissen, das jeder "EventKlasse" auch ein Listener zugeordnet ist.
Bei der "ActionEvent" -Klasse ist es eben der ActionListener.
Ist nun eine Klasse an einem bestimmten Event interessiert, so muss Sie das passende Interface für das jeweilige Event implementieren.
Der Action Listener ist ja nur ein Interface. Ein Interface ist eine spezielle Form einer Klasse.
Ein Interface besitzt nur Methoden und Konstanten, aber keine Konstruktoren.
Deshalb können von einem Interface auch keine Objekte erzeugt werden.
Der ActionListener hat nun die Aufgabe, das Event abzuhören und die "ActionPerformed()" -Methode bereit zu stellen.
Wenn jetzt ein Button gedrückt wird, dann ruft dieser nicht den ActionListener auf, sondern die Methode des ActionListeners also die "ActionPerformed()"-Methode. In der "ActionPerformed()"-Methode kann nun auf das Ereignis reagiert werden und eine bestimmte Handlung im Programm durchgeführt werden.
Wichtig ist dabei, das der Button beim ActionListener angemeldet wird und zwar mit der Methode "addActionListener".
Hab ich das nun Richtig erklärt??