Graphical User Interface

GUI-Builder für Eclipse im Vergleich

Bernhard Steppan ist Leading Consultant bei der SYRACOM Consulting AG.
Die Plattform Eclipse hat einen Boom von Erweiterungen für ihre Java-IDE ausgelöst, darunter auch einige GUI-Builder zur Gestaltung von grafischen Oberflächen. Wir haben die drei populärsten Tools verglichen - Jigloo, Visual Editor und Window Builder Pro.

(Im Wiki der Computerwoche findet sich eine aktualisierte und erweiterte Übersicht über GUI-Builder für Eclipse.)

Visuelle Werkzeuge erfreuen sich in der Softwareentwicklung seit jeher großer Beliebtheit. An erster Stelle müssen hier GUI-Builder (GUI = Graphical User Interface) genannt werden, mit denen sich grafische Programmoberflächen erheblich leichter als in einem Texteditor gestalten lassen. Während klassische integrierte Entwicklungsumgebungen in der Regel über einen fest eingebauten GUI-Builder verfügen, enthält die Standarddistribution von Eclipse bislang kein derartiges Werkzeug.

Jigloo bietet einen guten Entwurfs- und Testmodus.
Jigloo bietet einen guten Entwurfs- und Testmodus.

Dieses Manko lässt sich aber leicht ausgleichen, denn Eclipse ist über seine Plugin-Schnittstelle erweiterbar. Das bedeutet, dass auch die Java-Entwicklungsumgebung von Eclipse mit einem beliebigen GUI-Builder-Plugin ausgestattet werden kann. Die drei bekanntesten Produkte sind die kommerziellen Tools "Jigloo" und "Window Builder Pro" (bestehend aus "SWT Designer" und "Swing Designer") sowie der frei erhältliche "Visual Editor".

Jigloo

Der GUI-Builder mit dem originellen Namen Jigloo stammt von der US-amerikanischen Firma Cloudgarden. Wie alle derartigen Eclipse-Module ist das Plugin, das hier in der Version 3.0.1 getestet wurde, entweder über die Softwareaktualisierung der Hersteller-Homepage oder konventionell zu installieren. Letzteres geschieht, in dem man die Plugin-Bestandteile in den Plugin-Ordner und die neuen Feature-Bestandteile in den Feature-Ordner von Eclipse zieht und die Workbench neu startet.

Jigloo bereichert die Eclipse-Workbench um einen Form Editor, eine veränderte Outline-View und eine neue Properties-View. Über die Properties lassen sich das Erscheinungsbild, das Einlesen des Codes (Reverse Engineering) und die Codegenerierung steuern. Zudem können durch den Properties-Dialog so genannte Custom Controls angegeben und das Plugin für kommerzielle Zwecke freigeschaltet werden.

Die Einstellungen für das Erscheinungsbild erlauben die gleichzeitige Darstellung von Entwurfsmodus und Quelltext, wobei beide Fenster über einen Splitter getrennt werden. Jigloo lässt sich aber auch so einrichten, dass beide Ansichten getrennt über einen Reiter umgeschaltet werden. Die Verzögerung beim Einlesen des Quelltextes kann man in Millisekunden vorwählen. Dadurch verzögert sich die Synchronisation zwischen Code und Entwurfsansicht, was bei der Arbeit manchmal sehr hilfreich ist. Weiterhin können zwei verschiedene Arten von geschützten Blöcken definiert werden. Sie sorgen dafür, dass Codeteile bei der Generierung von neuem Quelltext unberührt bleiben oder sogar beim Reverse Engineering nicht mehr eingelesen werden.

Die Einflussmöglichkeiten auf die Codegenerierung beschränken sich auf wenige Einstellungen. Hier lässt sich zum Beispiel angeben, ob voll qualifizierte Bezeichner verwendet werden sollen. Für das schnelle Oberflächenprototyping ist praktisch, dass das Plugin Vorlagen für manche Widget-Modelle anlegen kann. Wenn man beispielweise eine neue Swing-Tabelle anlegt, erzeugt Jigloo gleich einen Rumpf des dazu passenden Modells.

Weiterhin lässt sich festlegen, ob neue Komponenten im Stil anderer GUI-Builder wie dem Visual Editor angelegt und Layouts in XML-Dateien ausgelagert werden sollen. Damit erschöpfen sich aber auch schon die Einstellungsmöglichkeiten. Was fehlt, ist zum Beispiel wenigstens eine Option, den Namen der Initialisierungsmethode festzulegen oder zu verhindern, dass auch bei Dialogen eine Main-Methode sowie überflüssiger Code und Kommentare erzeugt werden.

Jigloo kommt sowohl mit AWT-, Swing- als auch mit den neuen SWT-Klassenbibliotheken des Eclipse-Projekts zurecht. Einzigartig ist das Feature, zwischen einem Swing- und einem SWT-GUI hin- und herschalten zu können. Diese Funktion erzeugt jeweils vollständig neuen Quelltext, der in diesem Test jedoch nicht zuverlässig ohne Nacharbeiten funktionierte. Jigloo verfügt über gut strukturierte Paletten mit allen wichtigsten Javabeans der genannten Java-Bibliotheken. Neue Beans lassen sich problemlos hinzufügen. Insgesamt ist die Oberfläche nicht überladen und sehr leicht zu bedienen. Selbst komplexe Gridbag-Layouts bleiben übersichtlich.