next up previous contents index
Next: Adapterkonzept Up: Javabeans-basierte Anwendungen Previous: Grundlagen der Javabeans

Java-Eventkonzept

Events dienen im Javabean-Konzept dazu, Javabeans miteinander zu verbinden.

Es wird eine Java-JDK Version > 1.2 und ein Javabeansystem BDK1.1 vorausgesetzt. In diesen wird das Event1.1-Modell von Java verwendet. Hierbei registrieren sich die empfangsbereiten Objekte bei den Event-versendenden Objekten. Diese senden nur an die registrierten Objekte, die den Event mit einer zu dessen Interface (s. EventListener) passenden Methode empfangen.

Der Java-Event-Mechanismus (V1.1) beruht auf Invocation, d.h. die dem Event zugewiesene Methode des Targetbeans wird wie eine Subroutine aufgerufen: nach Verlassen der Subroutine kehrt der Kontrollfluss zur Event-feuernden Javabean zurück (siehe Abbildung [*]).


 
Abbildung: Beans und Hooks 

Es handelt sich somit um ein synchrones Modell: der Kontrollfluss (mainthread) kommt nach Ausführung der durchlaufenen Methoden zum Startpunkt (StartButton) zurück. Javabeans können zur parallelen Bearbeitung von Aufgaben auch zusätzliche Subthreads erzeugen.

Java stellt Standardevents zur Verfügung, z.B. den MousePressedEvent und den ActionEvent. Der MousePressedEvent dient zum Start einer Anwendung durch Klick auf einen Button, evtl. auch zum Stop. Für die Verbindung der übrigen Javabeans in einer Anwendung eignet sich der ActionEvent am besten. In besonderen Fällen kann der PropertyEvent verwendet werden.

Der Baustein-Entwickler kann auch weitere Events implementieren, die vom java/util/EventObject erben. Parameter sollen aber laut Javabean-Spezifikation nur in besonderen Fällen übergeben werden ([#!jb101!#], 6.4.1).

Potentielle Targetbeans registrieren sich als EventListener in der

- addEventListener-Methode der Event-Source bzw.

melden sich durch Aufruf der

-removeEventListener-Methode

wieder ab, wenn sie keine weiteren Events empfangen wollen.


next up previous contents index
Next: Adapterkonzept Up: Javabeans-basierte Anwendungen Previous: Grundlagen der Javabeans
Copyright Munich Network Management Team