Layoutmanager

Layoutmanager bezeichnet in der Programmierung eine Softwarekomponente, die sich um die Anordnung von Steuerelementen in einem übergeordneten Container (z. B. einem Fenster) kümmert. Dabei wird nicht jedem Element eine Position und Größe mittels Pixelkoordinaten zugewiesen, sondern der Layoutmanager besitzt ein definiertes Regelwerk, wie die Elemente angeordnet werden sollen. Der wichtigste Vorteil von Layoutmanagern gegenüber der absoluten Positionierung ist die Unabhängigkeit von Zeichensatz- und Fenstergrößen.

Layoutmanager sind meist Bestandteile eines GUI-Toolkits.

Layoutmanager in Java

Beispiele

Layout-Verschachtelung
  • BorderLayout
  • BoxLayout
  • CardLayout
  • FlowLayout (Standardmäßig aktiviert)
  • GridBagLayout
  • GridLayout
  • OverlayLayout
  • SpringLayout

FlowLayout

Beim standardmäßig aktivierten FlowLayout werden die Komponenten einfach hintereinander angeordnet, in der Reihenfolge, wie sie auf dem Panel eingefügt wurden. Wenn das Ende des Frames erreicht ist, wird ein Zeilenumbruch erzeugt.

BorderLayout

Exemplarisch soll das BorderLayout beschrieben werden. In einem BorderLayout können fünf Komponenten angeordnet werden. Als Anordnungsregeln kann den fünf Komponenten die „Richtung“ mitgegeben werden: NORTH, EAST, SOUTH, WEST und CENTER. Folgende Grafik veranschaulicht, wo sich die Komponenten dann befinden (bitte beachten: ein LayoutManager zeigt niemals Linien, Ränder oder Rahmen an; die hier gezeigten Linien dienen nur zur Verdeutlichung der Grenzen der einzelnen Komponenten):

Darstellung des BorderLayouts

Üblicherweise ordnet man in einem BorderLayout Container mit weiteren Komponenten und individuellen Layouts an. So kommt es zum Beispiel häufig vor, dass man EAST und WEST NORTH und SOUTH übergeordnet haben will, so dass sich EAST und WEST über die volle Höhe erstrecken und NORTH und SOUTH nicht die volle Breite bekommen, sondern die Breite von CENTER. Dies lässt sich einfach realisieren, indem man im äußeren BorderLayout NORTH und SOUTH leer lässt, CENTER aber wieder mit einem BorderLayout füllt, indem man nun NORTH und SOUTH anpassen kann.

Beispielsweise würde man ein Panel (Container für GUI-Komponenten) im NORTH-Bereich mit einem FlowLayout anlegen, um dort gegebenenfalls Symbolleisten-Schaltflächen anzulegen. Im SOUTH-Bereich legt man ein Panel an (ebenfalls mit einem FlowLayout, aber mit rechtsbündiger Ausrichtung), um zum Beispiel ein OK- und Abbrechen-Schaltfläche anzulegen. Den CENTER-Bereich nutzt man mit einem Panel mit GridBagLayout für Eingabe-Elemente. Die Bereiche WEST und EAST könnte man unbesetzt lassen. Der LayoutManager würde die Komponente im CENTER-Bereich nach rechts und links bis zum Rand ausdehnen lassen.

Siehe auch

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.