Was auf unserem schönen Welt mit dem eigentlich brauchbaren Swing Framework passiert, ist eindeutig ein Fall für das Haager Kriegsverbrechertribunal. Swing wird ungefähr so behandelt wie Kommunisten in Chile/Argentinien zwischen dem 11.09.1973 und dem Sommer 1978. Oder Juden in der Ukraine zwischen 1941 und Anfang 1944.
All diese jungen Java-Programmierer fühlen sich im Grunde zu erhaben dafür. Schliesslich fühlen sie sich als krasse Främwörk- Enterpreis-Progrämmer. Swing Programmierung halten sie für eine Zumutung und so verhalten sie sich. Es wird fröhlich nach unordentlichen Abkürzungen gesucht. Zum Bleistift deklariert man das GUI in phonky
http://www.swixml.org xml Dateien. Das sieht dann schön enterprisey aus.
Irgendwann stellen sie dann fest, dass man GUI Felder, Checkboxen, etc. nicht nur hinmalen muss. Oh nein. Das Programm muß unter Umständen auch einmal
auslesen, was der
User in diesen schönen Feldern so
eingetragen hat. Was eine große Überraschung! Tja. Und leider muss man dann alle verwendeten Swing Objekte nochmal neu in einer eigenen GUI-Klasse deklarieren mit gettern und settern. Aber vielleicht ist es
denen wichtiger, dass sie überhaupt eine xml-Datei haben, weil das so främewörk-enterprisey ist. Struts hat das ja auch.
Als Layoutmanager nehmen sie natürlich GridBagLayout. Schliesslich ist das einfach nur ein Attribut in der xml Datei. <panel Layout="GridBagLayout()">. Und die Kugel des Verhängnisses ist ins Rollen geraten... In ihrer Google Suche haben sie irgendwo gelesen, dass der komplexeste Layoutmanager so heisst. Und das ist ja wohl klar der Mindeststandard für jeden sich selbst respektierenden enterpreisy främewörker. Soll sich doch der nächste Programmierer darum kümmern, wie er dort einen neuen Button einfügt. Vielleicht kann er ja mit viel Glück die richtigen Parameter für weightX, weightY ausknobeln, so dass das nicht völlig bescheuert aussieht. One never knows.
Projektmanager: „Wir brauchen rechts noch einen Button“
Programmierer: „Das dauert 2 Tage“.
Projektmanager: „Ist die Funktionalität mit dem http Zugriff aus der GUI über SSL wirklich so schwierig“.
Programmierer: Nö. Das geht mit Errorhandling in 2 Stunden. Das Problem ist die Platzierung des Buttons in einem Container mit GridBagLayout.“
Oh. Ich mag das.
Und dabei hat Sun in den letzten Jahren eine Menge Energie in Swing gesteckt. Carsten Lentzsch, Romain Guy, Scott Delap, Hans Mueller, Chat Haase haben tolle Sachen für Swing entwickelt und sich den Mund fusselig geredet, damit auch struts-aficionados eine "faire" Chance bekommen zu verstehen. Damit kann man Swing GUIs entwickeln, die nicht zu einem hoffnungslosen Urwald verkommen.
Wann immer ihr solchen Unsinn begegnet, schreibt es um. FormLayout von Carsten Lentzsch. Sowieso die von Scott Delap in seinem Buch beschriebenen Konzepte. Das Buch hat ca. 334 Seiten.