FANDOM


Was machen Layout-Manager? Bearbeiten

Bei der Erstellung von Benutzeroberflächen ist es heutzutage nicht mehr üblich, die Steuerelemente absolut durch die Angabe von x/y-Koordinaten in Pixeln zu positionieren. Für die Positionierung werden Layout-Manager eingesetzt. Sie ordnen die untergeordneten Elemente des Containers nach bestimmten Koordinaten / Layout-Definitionen an. Jeder Layout-Manager hat seine eigene Methodik, wie er die Steuerelemente anordnet.

Layout-Manager sind Objekte von AWT-Klassen, die einem Container zugeordnet werden können. Als Container für Layouts verwendet man meist Objekte der Klasse JPanel, da diese unsichtbar sind und auch keinen Rahmen besitzen. Es ist wichtig einem JPanel immer zuerst ein Layout zuzuordnen und es danach mit den Steuerelementen befüllen. Geht man andersherum vor kann dies zu einer fehlerhaften Darstellung führen.

Flow-Layout Bearbeiten

  • Das Flow-Layout ist das Standardlayout aller Container
    • nur wenn das Layout eines Containers geändert wurde, muss mit den Konstruktoren und mit setLayout() das FlowLayout wieder eingerichtet werden.
  • Die einzelnen Elemente werden hintereinander angeordnet und nur in eine neue Zeile umgebrochen,wenn die maximale Breite des Containers erreicht ist
    FlowLayout

    Das Flow-Layout

Grid-Layout Bearbeiten

  • Das Layout erinnert an eine Tabelle, es besteht aus Zeilen und Spalten
  • Es wird sequentiell befüllt, wobei die Reihenfolge von links nach rechts und dann von oben nach unten ist
  • Die minimalen Feldgrößen richten sich nach dem größten Element
  • Die Felder besitzen eine einheitliche Größe
    GridLayout

    Das Grid-Layout

GridBag-Layout Bearbeiten

  • Es ist sehr flexibel, allerdings kann die Arbeit mit GridBagLayout kann sehr komplex werden
  • Funktionsprinzip: Komponenten oder enthaltene Container können in Zeilen und Spalten angeordnet werden; sie können aber auch mehrere Zeilen/Spalten umfassen und die Zeilen müssen auch nicht gleich groß sein
  • Für die Parametierung der Layout-Eigenschaften besitzt das GridBag-Layout eine separate Klasse, die GridBag-Constraints.
    GridbagLayout

    Das GridBag-Layout

Boder-Layout Bearbeiten

  • Das Border-Layout definiert fünf Bereiche zur Anordnung der Elemente (Nord, Ost, Süd, West und Mitte).
  • Meist wird der mittlere Bereich so groß und die andere Bereiche so klein wie möglich gehalten
    BoderLayout

    Das Boder-Layout

Box-Layout Bearbeiten

  • Komponenten werden entweder
    • übereinander gestapelt oder
    • in einer Reihe angeordnet
  • Entscheidend ist die Reihenfolge des Einfügens
  • Berücksichtigt die maximale Größe der Komponenten
    BoxLayout-0

    Das Box-Layout