IntelliJ GUI Builder automatische Anordnung ausschalten?

1 Antwort

Du kannst für jede Komponente, die du deiner GUI zufügst, einen eigenen Layout Manager zuordnen (selektiere dafür deine Komponente im Component Tree und schau dann unter dessen Properties). Zur Auswahl stehen da:

  • BorderLayout (einfache Aufteilung in oben/unten/rechts/links/mittig)
  • CardLayout (Aufteilung in Karten/Slides, von denen nur immer nur eine sichtbar ist)
  • FlowLayout (einfache horizontale oder vertikale Aneinanderreihung)
  • FormLayout (eine Art flexibles Grid)
  • GridBagLayout (ein gewichtetes Grid)
  • GridLayoutManager (ein einfaches Grid; der von IntelliJ gesetzte Standardmanager)

Plane am besten im Voraus, wie du deine Oberfläche strukturieren möchtest und schachtele anschließend Layouts, indem du Container-Komponenten (wie z.B. JPanel) ineinander verschachtelst.


xNoxxi 
Beitragsersteller
 23.10.2024, 21:29

aber kann ich auch irgendwie das layout entfernen oder irgendwas so einstellen, dass ich die elemente frei platzieren kann?

regex9  23.10.2024, 22:19
@xNoxxi

Das ist nicht das Konzept von Swing. Die Layout Manager sorgen nicht nur für eine geordnete Verteilung der Komponenten sondern helfen auch bei der Größenberechnung für das Frame. Ziel sind nutzerfreundliche Oberflächen, die also für möglichst jeden Nutzer bedienbar sind.

Wenn du dich nicht mit Swing beschäftigen möchtest, solltest du dir tatsächlich eine andere UI-Umsetzung suchen. Du könntest bspw. eine Weboberfläche (Webanwendung / JavaFX + WebView / Swing + JxBrowser) erstellen. Wobei ich auch dann von absoluten Positionierungen abraten würde, denn wenn du die Größe des Fensters änderst (was zudem immer möglich sein sollte!), schieben sich Elemente schnell mal zusammen (überlappen sich) und machen die Anwendung so unbedienbar.