9.1 | Möglichkeiten der Event-Verarbeitung |
In Java hat man prinzipiell die Möglichkeit, bei der Event-Verarbeitung auf drei unterschiedliche Arten vorzugehen, die auf den folgenden Seiten genauer beschrieben werden:Allen drei Techniken zur Ereignisbehandlung ist aber folgendes gemeinsam: Ein Ereignis wird jeweils innerhalb einer bestimmten Komponente ausgelöst, woraufhin an einer anderen Stelle auf das ausgelöste Ereignis reagiert werden kann. Die Modelle unterscheiden sich in der Art, wie eine Ereignisbehandlungsroutine über das Auftreten eines bestimmten Ereignisses informiert und wie die Unterscheidung verschiedener Ereignisse vorgenommen wird.
- Ereignisbehandlung nach dem Event-Modell des JDK 1.0
Dies ist hauptsächlich aus Gründen der Abwärtskompatibilität möglich. Ein Ereignis wird in einer Komponente ausgelöst und anschließend so lange an die in der Komponentenhierarchie übergeordnete Komponente weitergereicht, bis das Ereignis entweder verarbeitet wurde oder es an der Wurzel des Komponentenbaums angelangt ist.Wegen der zuvor genannten Nachteile ist aus heutiger Sicht von der Verwendung dieses Event-Modells stark abzuraten, daher wird es in diesem Buch auch nicht näher behandelt. Es sei allen Entwicklern empfohlen, das alte Modell nicht mehr zu benutzen, da es in neueren Java-Versionen komplett fallengelassen werden könnte.
- Ereignisbehandlung nach dem Delegationsmodell
Bei dieser Technik registrieren sich Objekte direkt bei der Quelle eines bestimmten Ereignisses. Daraufhin werden diese Objekte automatisch über das Auftreten dieses Ereignisses informiert.- Ereignisbehandlung für die Komponentenentwicklung
Wenn man von den Standardkomponenten eigene Klassen ableitet, ist es bei einigen Ereignissen sinnvoll, die Behandlung direkt in der abgeleiteten Komponente vorzunehmen. Die interne Behandlung eines Ereignisses soll für den Benutzer einer Komponente transparent bleiben und nicht außerhalb verwendet werden können.