JavaBeans Development Kit

Das JavaBeans Development Kit (BDK) ist keine vollständige grafische Entwicklungsumgebung, wie bspw. die Produkte Visual Age (IBM), Visual Café (Symantec), JBuilder (Borland) oder VisualJ++ (Microsoft). Es ist vielmehr ein einfacher Container (auch als BeanBox bezeichnet), in dem Beans plattformunabhängig erstellt, miteinander verknüpft, getestet und verpackt werden können. Das BDK greift dabei auf die Design-Patterns von JavaBeans, bzw. auf die BeanInfo-Klasse zurück, um festzustellen, welche Fähigkeiten ein Bean besitzt und wie es angesprochen werden kann. So können im Prinzip komplexe Anwendungen im BDK zusammengestellt werden, ohne Code von Hand schreiben zu müssen. Die Firma Sun führt aber ausdrücklich an, dass das BDK nicht zur Entwicklung größerer Anwendungen eingesetzt werden sollte, sondern zum Erstellen und Testen einzelner (weniger) Komponenten. Die Spezifikation von Sun nennt zwei Szenarien für den Einsatz des BDKs: Die Entwicklung und das Zusammenfügen von Beans im Designmodus und die praktische Benutzung im Laufzeitmodus. Diese Unterscheidung ergibt sich aus der Rolle der Beans als wieder verwendbare Komponenten. Zuerst müssen Beans von Grund auf neu entwickelt und/oder aus bereits vorhandenen anderen Beans zusammengefügt werden. Dazu benötigen Entwickler weit mehr Informationen als für deren späteren Einsatz. Das BDK stellt auch keinen Standard zur Verfügung, wie eine JavaBeans-Entwicklungsumgebung auszusehen hat. Selbst das Layout der Komponentenanordnung kann von Umgebung zu Umgebung unterschiedlich sein. Auch mit einer geänderten und erweiterten Funktionalität ändert sich allerdings nichts Wesentliches an den allgemeinen Arbeitsweisen, wie sie die BeanBox vorstellt.

Installation des JavaBeans Development Kits

Nach dem Laden des kostenlosen Softwarepakets JavaBeans Development Kit (http://www.javasoft.com), installiert sich das BDK unter UNIX automatisch, wenn die folgende Befehlszeile ausgeführt wird:

syntax 

sh BDKJul98.bin

Unter Windows 95 bzw. 98 und unter Windows NT 4.0 erfolgt die Installation nach einem Doppelklick auf die Datei BDKJul98.exe.

Aufbau des BDKs

Das BDK ist in Java implementiert und erscheint nach dem Start unterteilt in drei Fenster (siehe Abb. 9-17):

  • Die ToolBox, die Beispielkomponenten enthält und in die eigene Komponenten eingefügt werden können.
  • Die BeanBox, ein Container-Panel, in dem Komponenten platziert und getestet werden können.
  • Das Property Sheet, in dem alle Eigenschaften der angewählten Komponente angezeigt und geändert werden können.

kap917 

Abb. 9.17: Fenster des BDKs

Die BeanBox ist der wichtigste Teil des BDKs. Die BeanBox ist eine einfache grafische Oberfläche, in der Beans-Komponenten aus der ToolBox platziert werden, um ihre Funktionalität zu testen. Die Eigenschaften der Beans können hierbei verändert werden (Property Sheet) und Bindungen zwischen Ereignissen und Methoden anderer Beans hergestellt werden. Die ToolBox enthält ausschließlich Komponenten aus dem Verzeichnis bdk/jars/ (sofern das BDK derart installiert wurde). Eigene Komponenten können der ToolBox durch einfaches Kopieren von *.jar-Dateien in dieses Verzeichnis hinzugefügt werden.

Funktionen des BDKs

Die Bearbeitungsfunktionen der BeanBox sind:

  • Beans mit Drag&Drop von der ToolBox in das Fenster der BeanBox zu ziehen,
  • Beans zu verschieben und interaktiv ihre Größe zu ändern,
  • Eigenschaften im Property-Fenster zu bearbeiten,
  • eigene Customizer zur Konfiguration eines Beans aufzurufen,
  • eine Event-Quelle mit einem Event-Handler zu kombinieren,
  • Bound-Properties verschiedener Beans zu kombinieren,
  • die verwendeten Beans aus dem BeanBox-Fenster zu speichern und wieder einzulesen,
  • einen Introspektionsbericht eines Beans ausgeben zu lassen,
  • neue Beans aus JAR-Archiven einzulesen,
  • ein lauffähiges Applet zu erzeugen,
  • die InfoBus-Unterstützung.

kap918 

Abb. 9.18: Event-Menü der BeanBox

Die wesentlichen Funktionen, wie das Verknüpfen von Komponenten durch das Abrufen von Events, werden mit Hilfe des Menüs Edit der BeanBox ausgeführt. Eine genaue Beschreibung ist aufgrund der wenigen Funktionen, die hier zur Verfügung stehen, nicht erforderlich. Abb. 9-18 zeigt das Event-Menü der BeanBox.

Um das Arbeiten mit der BeanBox zu verdeutlichen, wird an dieser Stelle das animierte Juggler-Bean mit zwei OurButton-Beans verknüpfen. Der erste Button wird dazu benutzt, um die Animation zu starten, während der zweite benutzt wird, um sie zu stoppen. Die Entwicklung des Beispiels erfordert die folgenden Schritte:

  • Auswahl des Juggler-Beans in der ToolBox (Mauszeiger wird zu einem Kreuz).
  • Mit dem Kreuz an die gewünschte Stelle in der BeanBox klicken.
  • Erzeugen zweier Instanzen von OurButton in der BeanBox.
  • Ändern des Labels im Property-Editor auf Start bzw. Stop.
  • Ändern der Hintergrundfarbe des Stop-Buttons auf rot, falls gewünscht.

kap919 

Abb. 9.19: BeanBox-Fenster des BDKs

Nachdem die drei Beans instantiiert wurden, werden sie im Folgenden verknüpft.

  • Selektion des Start-Buttons.
  • Auswahl von actionPerformed unter Menüpunkt Edit, Untermenü Events, anschließend action.
  • Anzeige einer roten Linie, die vom Start-Button ausgeht.
  • Auswahl des Juggler-Beans mittels der roten Linie.

Es erscheint ein Fenster mit allen möglichen Methoden, die das Juggler-Bean bearbeiten kann.

  • Auswahl der start-Methode aus dieser Liste.
  • Betätigung des OK-Buttons.
  • Wiederholung der Prozedur mit dem Stop-Button, hier allerdings Auswahl der Methode stop.

Das Testen von Beans ist allerdings nicht die einzige Einsatzmöglichkeit des BDKs. Das BDK kann auch dazu benutzt werden, um aus den verknüpften Beans ein Applet zu erzeugen. Die Erstellung eines Applets erfordert die folgenden Schritte:

  • Auswahl des Menüpunkts File im Untermenü MakeApplet.
  • Eingabe des JAR-Dateinamens und des Applet-Namens.

kap920 

Abb. 9.20: Fenster zur Eingabe des Applet- und JAR-Dateinamens

Das entstandene Applet kann anschließend mit dem Appletviewer bzw. mit einem beliebigen Browser aufgerufen werden.

 


SPNavRight SPNavRight SPNavRight
BuiltByNOF