Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 22 Komponenten durch Bohnen
gp 22.1 Grundlagen der Komponententechnik
gp 22.1.1 Brauchen wir überhaupt Komponenten?
gp 22.1.2 Visuelle und nichtvisuelle Komponenten
gp 22.1.3 Andere Komponententechnologien oder: Was uns Microsoft brachte
gp 22.2 Das JavaBeans Development Kit (BDK)
gp 22.2.1 Eine Beispielsitzung im BDK
gp 22.2.2 Verknüpfungen zwischen Komponenten
gp 22.2.3 Beans speichern
gp 22.3 Die kleinste Bohne der Welt
gp 22.4 Jar-Archive für Komponenten
gp 22.5 Worauf JavaBeans basieren
gp 22.6 Eigenschaften
gp 22.6.1 Einfache Eigenschaften
gp 22.6.2 Boolesche Eigenschaften
gp 22.6.3 Indizierte Eigenschaften
gp 22.7 Ereignisse
gp 22.7.1 Multicast und Unicast
gp 22.7.2 Namenskonvention
gp 22.8 Weitere Eigenschaften
gp 22.8.1 Gebundene Eigenschaften
gp 22.8.2 Anwendung von PropertyChange bei AWT-Komponenten
gp 22.8.3 Veto-Eigenschaften. Dagegen!
gp 22.9 Bean-Eigenschaften anpassen
gp 22.9.1 Customizer
gp 22.10 Property-Editoren
gp 22.11 BeanInfo
gp 22.12 Beliebte Fehler


Galileo Computing

22.2 Das JavaBeans Development Kit (BDK)downtop

Das BDK ist eine Testumgebung für anzeigeorientierte Beans und Komponenten ohne visuelle Repräsentation wie Datenstrukturen und Container. Das BDK ist selbst in Java implementiert und frei erhältlich unter http://java.sun.com/products/javabeans/software/bdk_download.html. Die aktuelle Version ist BDK 1.1 und leider schon etwas älter (April 1999). Zum Download steht neben dem BDK als Windows/Solaris-Variante mit einer Installationsprozedur auch eine allgemeine Version in einem Zip-Archiv zur Verfügung. Nutzen wir die allgemeine plattformunabhängige Version und entpacken sie in einem Verzeichnis, welches wir dies im Folgenden mit bdk kennzeichnen.

Die Bean-Box bietet eine Arbeitsfläche, auf der die Komponenten platziert und verbunden werden können. Wird in der Bean-Box eine Komponente auf dem Bildschirm gesetzt, so liest Java aus der Bean die Informationen (genannt Properties) aus und stellt sie dar. Nun können mehrere Beans miteinander verbunden werden, so dass etwa eine Komponente ein Ereignis auslöst, auf das die zweite Komponente reagiert. Alle Aktionen können direkt ohne eine Zeile Programmcode entworfen werden. Wir entwerfen zunächst im Design-Modus die Verbindungen, um sie dann im Laufzeit-Modus zu testen. Damit reiht sich die Bean-Box in die Reihe der grafischen Entwicklungsumgebungen wie etwa IBMs Visual Age ein. Ganz so komfortabel ist die Bean-Box dann aber auch nicht. Sie ist von Sun lediglich zum Testen und Anzeigen von Beans entworfen worden. Dies zeigt sich auch daran, dass beim Verlassen der Umgebung noch nicht einmal nach dem Speichern gefragt wird.

Die Bean-Box starten

In der BDK-Version 1.1 wechseln wir in das bdk/beanbox/bin-Verzeichnis und rufen die Skripte run.bat (Windows) oder run.sh (Unix) auf. Dann startet die Umgebung.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 22.1 Die Bean-Box mit den Standardfenstern


Galileo Computing

22.2.1 Eine Beispielsitzung im BDKdowntop

Das BDK ist nach dem Start in drei Fenster unterteilt. Dies sind die ToolBox, die Bean-Box und das Eigenschaften-Feld. Das ToolBox-Fenster enthält einige Beispielkomponenten, die wir verwenden können. Die Beispiele werden zur Laufzeit aus dem bdk/jars/-Verzeichnis genommen. Eigene Komponenten können wir als Jar-Dateien einfach dort hineinkopieren. Die eigentliche Bean-Box stellt die Zeichenfläche dar. Sie ist der wichtigste Teil des Pakets, denn auf ihr können Komponenten platziert und getestet werden. Wir wollen dies an der Komponente Molecule zeigen. Wird sie in der ToolBox angeklickt, so verändert sich der Cursor in einen Positionszeiger. Klicken wir in der Bean-Box auf eine Stelle, wird ein Molekül angezeigt. Es lässt sich verschieben und interaktiv in der Größe ändern. Die Eigenschaften jeder Komponente lassen sich im Property-Sheet ändern. Sie bestimmen das Aussehen und das Verhalten. Ist das Molekül aktiviert, so erscheint im Eigenschaften-Dialog eine Auswahlliste mit einigen Molekülen. Eine Auswahl wirkt sich direkt in der Anzeige aus.

Leider können selektierte Komponenten nicht mit der Entfernen-Taste von der Oberfläche beseitigt werden. Hier ist nur der Gang über das Edit-Menü Erfolg versprechend.

Das Zusammenspiel der Komponenten lässt sich testen, indem wir den Design-Modus verlassen. Dazu aktivieren wir im Menüpunkt View den ersten Punkt Disable Design Mode (der sich dann in Enable Design Mode umbenennt). Jetzt kann das Molekül mit der Maus verschoben werden.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 22.2 Eine ausgewählte Komponente


Galileo Computing

22.2.2 Verknüpfungen zwischen Komponentendowntop

Die hervorragendste Fähigkeit der grafischen Programmierung ist das visuelle Setzen von Beziehungen zwischen Komponenten. Dabei werden Ereignisse an Methoden anderer Beans gebunden. Wir wollen das mit der Komponente JellyBean und dem Molekül testen. Wenn wir nun mit dem Mauszeiger einen Klick auf die JellyBean machen (also ein Mouse-Event auslösen), dann soll eine bestimmte Methode des Bean-Moleküls aufgerufen werden, so dass es sich auf dem Bildschirm dreht. Wir verbinden hier also einfach eine Ereignisquelle mit einer Ereignisbehandlung einer anderen Komponente. Die Bedienung der Bean-Box ist dabei so intuitiv, dass sie zum Spielen und Ausprobieren einlädt. Wir aktivieren die erste Schaltfläche und wählen den Menüpunkt Edit • Events • mouse • mousePressed.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Es erscheint dann eine rote Linie, die mit der Maus bewegt wird. Nun klicken wir auf unser Molekül. Daraufhin erscheint eine Liste mit Funktionen, die bei der Mausbewegung ausgelöst werden können. Wir entscheiden uns für rotateOnX.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 22.3 Zielmethoden


Galileo Computing

22.2.3 Beans speicherntoptop

In der Bean-Box lässt sich unter dem File-Menü die Bean in ein Jar-Archiv für ein Applet einwickeln. Der Speicher-Dialog schlägt standardmäßig ein Unterverzeichnis der Bean-Box vor. Zusätzlich zu der serialisierten Klasse befinden sich im Archiv noch die vom BDK erstellten Metainformationen, die Quellcodes zu Bean in einem Extra-Verzeichnis, eine HTML-Datei sowie eine Readme-Datei mit den Informationen darüber, welche Dateien zu der Komponente gehören. Die HTML-Datei erhält eine Referenz auf die Klassendatei, so dass ein Applet-Viewer oder ein Browser direkt das Bean darstellen kann. Einige Browser unterstützen jedoch das Jar-Format im Applet-Tag der HTML-Datei nicht. Dies erklärt beispielsweise die Readme-Datei. Unter den Taugenichtsen sind der IE 4.0 und der Navigator 4.04. Mit dem Applet-Viewer oder HotJava können Jars jedoch direkt verarbeitet werden.





Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de