Java Ich werde verrückt

godofkills

Lt. Commander
Registriert
Dez. 2009
Beiträge
1.997
Ich raste hier gleich echt aus Leute.
Seit einigen Tagen arbeite ich mit NetBeans und dieser verdammte Layout Designer macht was er will.
Allein schon wenn ich ein Button verschiebe fängt der Designer an alles Andere zu ändern.
Jetzt versuche ich z.B zwei jPanels über einander zu schieben doch ich bekomme es nicht hin.
Entweder schiebt er das andere Panel weg oder fügt es in das Andere ein oder es ändert sich einfach das ganze Layout. Mit rechter Maustaste kann man irgendwie die Layout Art ändern. Doch es macht es nichts besser. Wisst ihr wie man das ändern kann oder kennt ihr eine gute Alternative mit einem Layout Designer?
 
Java und Desktop Gui Design das sind zwei dinge die passen einfach nicht zusammen.

Das meiste ist heutzutage schon Webbasiert. Da spart man sich den Ärger.
Ist schon ne weile her glaub hab damals MigLayout verwendet das war brauchbar mehr aber auch nicht.
 
Vermutlich machst Du etwas falsch, aber ohne spezifische Informationen kann man hier nur vermuten.

Die besten Layout-Manager sind MigLayout und FormLayout. JFormDesigner unterstützt FormLayout. Für MigLayout kenne ich keinen GUI-Builder, aber wer braucht den schon? :D
Ergänzung ()

Funart schrieb:
Java und Desktop Gui Design das sind zwei dinge die passen einfach nicht zusammen.

FUD! Natürlich kann man mit Java tolle GUIs zaubern und Swing ist ja wohl eines der flexibelsten Toolkits überhaupt. Nur die Desktop-Integration lässt zu wünschen übrig. Ist eben Cross-Plattform, das bringt auch Nachteile, wobei das auf den Anwendungsfall ankommt.
 
Keinen LayoutManager benutzen (null setzen, aber das hat auch Nachteile) oder sich mal händisch damit befassen. Die Klickibunti-Tools führen nämlich zu nichts Vernünftigem, zumindest nicht, wenn man das System dahinter nicht kennt.
 
soares schrieb:
FUD! Natürlich kann man mit Java tolle GUIs zaubern und Swing ist ja wohl eines der flexibelsten Toolkits überhaupt. Nur die Desktop-Integration lässt zu wünschen übrig. Ist eben Cross-Plattform, das bringt auch Nachteile, wobei das auf den Anwendungsfall ankommt.

Ich hab schon versucht interactive GUIs mit swing zu machen.
Und es besitzt einige fallstricke.
Das Layouting ist auch immer eine sache es kommen immer wieder unerwartete Ergebnisse. Bis man so weit ist das man Swing flüssig runter programmiert ist viel Erfahrung notwendig. Flexibilität != Qualität. Wenn an einmal mit teiltransparenten Bildern arbeitet erlebt man schöne Überraschungen. Die Kontrolle über den Focus ist teils auch eine Katastrophe, vorallem im Bezug auf Teiltransparenz und übereinander liegende panels.
 
Funart schrieb:
Ich hab schon versucht interactive GUIs mit swing zu machen.
Und es besitzt einige fallstricke.

Welches Toolkit besitzt die nicht?


Funart schrieb:
Das Layouting ist auch immer eine sache es kommen immer wieder unerwartete Ergebnisse.

Kann ich absolut nicht bestätigen. Die mit der Runtime gelieferten Layoutmanager sind zwar in der Tat nicht gerade ideal was das Design und den Programmieraufwand anlangt, aber mit MigLayout bzw. FormLayout hat man sehr robuste und leistungsfähige Alternativen.


Funart schrieb:
Bis man so weit ist das man Swing flüssig runter programmiert ist viel Erfahrung notwendig. Flexibilität != Qualität.

Swing ist sicher nicht in allen Punkten ideal gelungen, und in der Tat sehr mächtig, was gerade am Anfang Probleme bereiten mag, aber daraus einen Strick zu drehen, ist unangebracht. Wenn man die Grundlagen verstanden hat und sich an einige Regeln hält, dann hat man ein sehr leistungsfähiges Toolkit an der Hand, das einem sehr viele Möglichkeiten und Freiheiten bietet.
 
soares schrieb:
Welches Toolkit besitzt die nicht?
[...]
Wenn man die Grundlagen verstanden hat und sich an einige Regeln hält, dann hat man ein sehr leistungsfähiges Toolkit an der Hand, das einem sehr viele Möglichkeiten und Freiheiten bietet.
Wenn man sich Konkurrenzprodukte (direkte oder indirekte: SWT, oder Windows Forms, WPF) mal anschaut, kann man imho schon zu dem Schluss kommen, dass UI-Programmierung nicht so aussehen muss, wie Swing das macht. Flexibilität schön und gut, aber so viel flexibler wie andere Toolkits ist es auch nicht. Ich habe nun seit 5 Jahren berufsmäßig immer wieder mit Swing zu tun, und würde es selbst nicht mehr freiwillig einsetzen.

@Topic: ich glaube, hier gings eher um einen GUI-Designer, als um irgendwelche Swing Layout-Manager. Einen GUI-Designer einzusetzen, weil man sich nicht mit den technischen Details seines UI-Toolkits auseinandersetzen möchte, ist eine ganz schlechte Idee. GUI-Designer sollte man in bestimmten Fällen benutzen, zB wenn man viele Buttons, Textfelder, Labels etc. einfügen möchte, und die Tipparbeit einfach zu mühselig ist. Und auch dann sollte man prüfen, ob der Code, den der Designer erzeugt, auch zu dem Code passt, den man selbst produziert, sonst kommt da ziemlich schnell Schrott raus. Gerade im Swing-Umfeld gibt es da die verschiedensten Strategien.

Persönlich habe ich noch keinen guten Designer im Java-Swing-Umfeld gefunden, ich würde die Teile wirklich nur sehr selektiv einsetzen.
 
captmcneil schrieb:
Wenn man sich Konkurrenzprodukte (direkte oder indirekte: SWT, oder Windows Forms, WPF) mal anschaut, kann man imho schon zu dem Schluss kommen, dass UI-Programmierung nicht so aussehen muss, wie Swing das macht. Flexibilität schön und gut, aber so viel flexibler wie andere Toolkits ist es auch nicht. Ich habe nun seit 5 Jahren berufsmäßig immer wieder mit Swing zu tun, und würde es selbst nicht mehr freiwillig einsetzen.

Natürlich ist Swing nicht der Weisheit letzter Schluss, manche Design-Entscheidungen erscheinen heute fragwürdig und leider gab es in den letzten Jahren keine rechte Weiterentwicklung, was sich durch die Integration von JavaFX vielleicht wieder ändern mag, aber ich würde Swing deswegen nicht von vorneherein ausschließen. Swing ist halt um einiges älter, als die IBM-Alternative bzw. der aktuelle MS-Stack, von daher sollte man erwarten, dass dort nicht die gleichen Fehler begangen wurden.

captmcneil schrieb:
@Topic: ich glaube, hier gings eher um einen GUI-Designer, als um irgendwelche Swing Layout-Manager. Einen GUI-Designer einzusetzen, weil man sich nicht mit den technischen Details seines UI-Toolkits auseinandersetzen möchte, ist eine ganz schlechte Idee. GUI-Designer sollte man in bestimmten Fällen benutzen, zB wenn man viele Buttons, Textfelder, Labels etc. einfügen möchte, und die Tipparbeit einfach zu mühselig ist. Und auch dann sollte man prüfen, ob der Code, den der Designer erzeugt, auch zu dem Code passt, den man selbst produziert, sonst kommt da ziemlich schnell Schrott raus.

Meine Rede. Bevor man entsprechende Tools einsetzt, sollte man die Grundlagen verstanden haben.

captmcneil schrieb:
Persönlich habe ich noch keinen guten Designer im Java-Swing-Umfeld gefunden, ich würde die Teile wirklich nur sehr selektiv einsetzen.

JFormDesigner dürfte der Beste sein, aber ich kann hier nicht aus eigener Erfahrung sprechen.
 
Zurück
Oben