Anwendungsentwicklung mit GUI in Java (Netbeans vs. Eclipse) 1

Erstellt von René Keller am 25. November 2007

Anwendungsentwicklung mit ansprechender GUI (grafische Benutzeroberfläche) war bislang in Java immer eine umständliche Angelegenheit. Wollte man gute, benutzerfreundliche Anwendungen entwickeln, entschied man sich häufig zulasten der Plattformunabhängigkeit für anderweitige IDEs und Programmiersprachen, die diesen Bereich deutlich besser ausfüllten.

Durch die in der aktuellten Netbeans-Version angepriesen Möglichkeiten, einfach professionelle Anwendungen zu designen, habe ich mich ein bisschen mit der Entwicklung von Java-GUI beschäftigt, da hier auch ein konkretes Entwicklungsvorhaben anstand.

In Java 6 wurde das GroupLayout eingeführt, mit dem man sehr schnell und elegant Swing GUIs entwickeln kann. Diese Variante der GUI-Entwicklung wird insbesondere durch das Matisse-Projekt getrieben, welches Bestandteil der aktuellen Netbean-Version ist. Matisse wurde als innovativer Ansatz zur Entwicklung von java-basierten GUIs erstmals in NetBeans IDE 5.0 vorgestellt. Es besteht aus einem neuen Layout-Manager, dem GroupLayout, und einem visuellen GUI-Tool, welches die Erstellung von JAVA-Gui-Formularen sehr viel einfacher gestaltet.

Somit habe ich mir NetBeans 5.5.1 heruntergeladen und den Formular-Designer etwas ausprobiert. Es läuft sehr stabil und ermöglicht in der Tat eine sehr einfache und angenehme GUI-Entwicklung. Die Funktionsweise von Matisse hat mich jedoch in keinem Fall überzeugt: Erstellt man beispielsweise ein JFrame-Formular mit dem visuellen Form-Editor, wird eine Methode “initComponents()” erstellt, deren Inhalt/Rumpf nicht im Quelltext editierbar ist. Sie enthält einen Spaghetti-Code von Anweisungen, um die komfortabel zurecht gerückten Formularelemente im Java-Programm an die selbe Stelle, wie im Editor, zu positionieren. Von einer Kapselung in einzelne Methoden, um diese ggf. später auszulagern, getrennt zu behandeln oder einfach nur bearbeiten zu können, halten die Entwickler offensichtlich nichts. Dieser Code ist auch nicht um sonst gesperrt: Netbeans speichert für jedes GUI-Formular eine XML-Datei, um Daten für den visuellen Editor (doppelt) zuhalten. Ändert man die Java-Datei manuell, sind die beiden Dateien out-of-sync. Eine Wiederherstellung des Syncs habe ich übrigens auch nicht wieder hinbekommen. Ein Tool hierzu gibt es meines Wissens nach nicht.

Hinzu kommt, dass die Java-Quelltext-Bearbeitung in NetBeans sehr langsam ist.

Bislang habe ich Java-Programme, welche keine GUI verwendeten, in Eclipse geschrieben. Der Quelltext-Editor, mit all seinen Funktionen, ist leistungsstark und komfortabel. Allerdings bietet der mitgelieferte Eclipse-Editor keine Unterstützung von GroupLayouts. Auf der Suche nach einem entsprechenden Plugin bin ich auf Jigloo gestoßen. Ich lud es in der Version 4.0.3 herunter und testete es. Jigloo ist im Gegensatz zu Netbeans von der Quelltext-Erzeugung wesentlich sauberer. Alle Objekte werden in eigenen Methoden mit den in dem Editor zugewiesenen Eigenschaften versehen und sind somit leicht und übersichtlich zu warten. Ferner wird keine proprietäre Datei gehalten, in dem die für die Darstellung erforderlichen Daten separat gehalten werden. Fügt man beispielsweise im Quelltext manuell ein Icon für einen Button in einer Toolbar hinzu, wird dieser auch ohne Probleme im visuellen Editor angezeigt.

Fazit: Jigloo ist für meine Belange eindeutig dem visuellen Editor von Netbeans vorzuziehen!

Ganz interessant im Zusammenhang mit der GUI-Entwicklung ist übrigens das Substance-Project. Hiermit kann mit 4 Zeilen Code das ganze Erscheinungsbild der Java-Anwendung aufgepeppt werden, wie man unschwer im Screenshot erkennt:

Substance Theme 'Business Black Steel'

Substance Theme 'Business'

Trackbacks

Klicke den Link an, um zur ursprünglichen Seite zurück zu kehren.

Kommentare

You must be logged in to leave a response.