steve77 Geschrieben 15. Dezember 2008 Teilen Geschrieben 15. Dezember 2008 Hallo alle miteinander, ich suche ein gutes beispiel für eine Swing GUI. Mich interessiert hierbei ganz besonders die Anordnung der einzelnen Elemente. Ich habe mich daran versucht, bekomme das aber leider nicht so ganz hin! Die GUI soll folgendes aussehen haben. 1 Label, 1 Combobox und dann ein Button. Dieses soll dann genauso auch noch mal darunter! Mein Code sieht zur Zeit folgender massen aus. wg Copyright gelöscht Ich bekomme es nicht hin, eine zweite Zeile mit genau den gleichen Elementen zu erzeugen! vielen Dank schonmal für die Hilfe Gruß steve Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 15. Dezember 2008 Teilen Geschrieben 15. Dezember 2008 *schüttel* GridBagLayout... hässlich, umständlich, mit einem Wort: furchtbar! Bevor du dich da weiter drin verläufst: --> JGoodies :: Forms Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nekokaburi Geschrieben 16. Dezember 2008 Teilen Geschrieben 16. Dezember 2008 *schüttel* GridBagLayout... hässlich, umständlich, mit einem Wort: furchtbar! Bevor du dich da weiter drin verläufst: --> JGoodies :: Forms GridBagLayout ist, wenn man es mal richtig verstanden hat ziemlich easy. Und man hat damit seeehr viele möglichkeiten der anordnung und ist trotzdem noch dynamisch. Ich finds furchtbar flexibel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 16. Dezember 2008 Teilen Geschrieben 16. Dezember 2008 (bearbeitet) Eine weitere Variante wäre mit null-Layout zu arbeiten und über eine überschrieben setBounds(int x, int y, int width, int height) die Bounds der einzelnen GUI-Componenten dynamisch berechnen zu lassen. Ich für meinen Teil mach das ziemlich häufig so (auch wenn das wahrscheinlich viele für extrem unschön halten). Aber mit zunehmender Zahl an GUI-Componenten und individuellen wünschen in Bezug auf die Anordnung seitens der Vorgesetzten steigt bei mir dann einfach die Selbstmordgefahr exponentiell zur Anzahl der Verwendeten und Verschachtelten LayoutManager. Für dein Problem fällt mir jedoch spontan eine Mischung aus Gridlayout auf der Haupt-Komponente (x-Zeiten, eine Spalte) und einem Flow-Layout auf einem Panel. Das Panel mit dem FlowLayout enthält dann das Label, die Combobox und den Button und wird auf der Hauptkomponenten eingefügt. Bearbeitet 16. Dezember 2008 von speedi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 16. Dezember 2008 Teilen Geschrieben 16. Dezember 2008 Ich finds furchtbar flexibel Furchtbar: ja, das stimmt. Der Tipp mit JGoodies ist schon der richtige. Nicht umsonst berät Karsten Lentzsch, der Entwickler von JGoodies, Sun in Fragen zu Swing und Layouts seit einiger Zeit. Leider gibt es als Folge dieser Beratung noch keinen konkreten und so schön verwendbaren LMs im JDK, so dass Forms auch weiterhin ein Standard bei mir sein wird, wenn ich Fat Clients entwickle. Ich dachte früher auch, dass GBL ganz ok ist, wenn man es mal verstanden hat. Nach dem ersten JGoodies Test war das nicht mehr so. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 16. Dezember 2008 Teilen Geschrieben 16. Dezember 2008 Ich dachte früher auch, dass GBL ganz ok ist, wenn man es mal verstanden hat. Nach dem ersten JGoodies Test war das nicht mehr so.Naja man kann mit einem GridBagLayout ja so ziemlich alles anstellen, das ist nicht das Problem. Aber der Code, den ich schreiben muss um ein komplexes Layout aufzubauen wird - nun ja - nennen wir es unschön Beim FormLayout ist mir das bisher noch nicht unter gekommen, da sieht man doch immer recht schnell wo jetzt was genau positioniert wird (von so schönen Dingen wie Dialogunits noch gar nicht zu sprechen *g*). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.