Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Swing und Gridbaglayout

Empfohlene Antworten

Veröffentlicht

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

*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 ;)

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 von speedi

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

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*).

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.