Window Builder Pro
Instantiations ist der Hersteller der beiden Produkte SWT Designer und Swing Designer, die man entweder einzeln oder unter dem etwas markigen Namen Window Builder Pro als Bundle erwerben kann. Das Produkt, das in der Version 2.1.0 getestet wurde, ist einfach zu installieren: Man kopiert die Module in den Plugin-Ordner von Eclipse und startet die Workbench neu. Um mit dem Window Builder arbeiten zu können, muss das Produkt allerdings erst beim Hersteller Instantiations freigeschaltet werden. Kostenfrei ist nur eine sehr eingeschränkte Version sowie die Evaluierung der Vollversion.
Nach der Installation erscheint unter den Workbench-Einstellungen (WINDOW > PREFERENCES) ein eigener Unterpunkt namens DESIGNER. Hier können die Codegenerierung, das Aussehen des Designers, Voreinstellungen zum Anlegen neuer Oberflächen sowie das Verhalten des GUI-Builder bei Swing- und SWT-Layouts festgelegt werden. Auch an die Einbindung von Custom-Controls (selbst geschriebenen Widgets) wurde gedacht, jedoch nicht daran, das Reverse Engineering zu steuern.
Die Codegenerierung beschränkt sich wie bei den Konkurrenzprodukten auf einige wenige Einstellungen und könnte noch deutlich erweitert werden. Das Aussehen der Oberfläche des Window Builder kann hingegen nach allen möglichen Arten an den persönlichen Geschmack angepasst werden. Das Anlegen neuer Swing- und SWT-Oberflächen ist ebenfalls konfigurierbar. Hier lassen sich Custom Controls angeben, Look and Feels der Swing-Bibliothek verwalten und Layout-Einstellungen (zum Beispiel das SWT-Formlayout) vornehmen.
Wie schon eingangs angedeutet, unterstützt der Window Builder Pro alle drei momentan verfügbaren Java-GUI-Frameworks: AWT, Swing und das Eclipse-Produkt SWT. Unter Mac OS X ist wie beim Konkurrenzprodukt Jigloo das Entwerfen von Swing-Oberflächen derzeit laut Herstellerangaben aufgrund eines Eclipse-Bugs unmöglich, während der Entwurf der nativen SWT-Oberflächen funktioniert.
Das Laden der entsprechenden Paletten ist abhängig von der Fensterklasse der GUI-Bibliothek, die bearbeitet werden soll. Kommt sie aus dem AWT/Swing-Bereich, zeigt der GUI-Builder nur dazu passende Widgets an, die Auswahl eines SWT-Fensters bewirkt die Anzeige einer SWT-Palette. Das Laden einer visuellen Klasse geschieht wie beim Visual Editor über den Befehl OPEN WITH. Auch Window Builder Pro bietet hierbei mehrere Assistenten an, die es erlauben, die Einstellungen der neuen Klasse komfortabel vorzunehmen.
Die Entwurfsansicht ist einfach zu bedienen und gestattet das Arrangement der Widgets nach allen erdenklichen Möglichkeiten. Die Codegenerierung funktioniert genauso problemlos und erzeugt gut strukturierten, übersichtlichen Quelltext. Die Synchronisation zwischen Quelltext und Entwurfsansicht war eindeutig am besten bei allen drei Produkten und ließ sich auch durch mehrmalige Restrukturierungen nicht aus der Ruhe bringen. Auch der Testmodus der Oberfläche lässt kaum Wünsche offen - im Gegensatz zum Reverse Engineering.
Hier kommt es bei Swing-Oberflächen dazu, dass Elemente nicht korrekt gezeichnet oder Swing-Modelle nicht korrekt mit Live-Daten gefüllt werden. Vermutlich sind diese Schwächen ein Tribut an die mangelhaften Einstellmöglichkeiten für das Reverse Engineering. Trotz dieser Einschränkungen ist der Window Builder alles in allem ein sehr stabiles und auch für professionelle Zwecke geeignetes Produkt.
Fazit
Auch die neueste Generation von GUI-Buildern für die Eclipse-Workbench löst nicht alle Probleme der Entwicklung grafischer Oberflächen und erweist sich bei den Einstellmöglichkeiten der Codegenerierung als zu unflexibel. Der Visual Editor des Eclipse-Projekts ist ein Produkt mit großem Potenzial, das sehr guten Code erzeugt. Leider besitzt er aber noch viel zu viele Kinderkrankheiten, um momentan gegen die beiden kommerziellen Produkte konkurrieren zu können.
Welchen Weg der Visual Editor einschlagen sollte, zeigen die beiden kommerziellen Vertreter Jigloo und Window Builder Pro. Sie präsentieren sich als leicht zu bedienende, ressourcenschonende Produkte. Jigloo hat in der neuesten Version große Fortschritte erzielt und zum Window Builder in Bereich der Codeanalyse sowie -generierung aufgeschlossen. Im Bereich der Stabilität hat der Window Builder jedoch noch einen deutlichen Vorsprung.