Download presentation
Презентация загружается. Пожалуйста, подождите
1
Java Layout Manager (JLM) Marc Dziadek
Java 3D -Seminar- Java Layout Manager (JLM) Marc Dziadek
2
Begriffsdefinition Oberfläche Komponente Anmerkung
Container für Dialogelemente Registrierung der Layout-Manager Komponente Java-Objekte die auf einer Oberfläche registriert werden können Anmerkung Oberflächen können auch Komponenten sein
3
Gründe für Layout Manager
Standart: Feste Anordnung der Elemente Java plattformunabhängig Unterschiedliche Betriebssysteme Unterschiedliche Ausgabegeräte Unterschiedliche Elementgröße Verzerrtes Layout
4
Layout-Manager: Java-Pakete
java.awt.* Einbinden in Quelltext import java.awt.*; import java.awt.<<Layoutmanager>>;
5
Funktionsweise Mit AWT und Swing nutzbar JLM instanziieren
Swing: contentPane JLM instanziieren JLM der Oberfläche zuweisen Oberflächenmethode setLayout() Optional: Konfiguration des LM Abstände Ausrichtung Etc.
6
Funktionsweise Komponenten bei Oberfläche registrieren add(Component)
automatisch bei JLM registriert JLM kümmert sich im Rahmen interner Regeln um die Anordnung i.A. Reihenfolge der Komponenten-registrierung entscheidend (Ausnahmen!) Oberflächengröße minimieren pack()
9
Flow-Layout einfachster Layoutmanager
Ordnet die Elemente hintereinander an („Kette“) public FlowLayout(int align, int hgap, int vgap)
10
Grid-Layout Oberfläche wird in Gitter mit Zellen gleicher Größe aufgeteilt Elemente werden auf Zellengröße skaliert geschachtelte Layout-Manager public GridLayout(int rows, int colums, int hgap, int vgap)
11
Grid-Layout Oberfläche wird in Gitter mit Zellen gleicher Größe aufgeteilt Elemente werden auf Zellengröße skaliert geschachtelte Layout-Manager public GridLayout(int rows, int colums, int hgap, int vgap)
12
Border-Layout Oberfläche in 5 Bereiche aufgeteilt (North, West, Center, East, South) Spezifikation des Bereiches add(String name, Component component) Komponentenskalierung bereichsabhängig
13
GridBag-Layout komplexer Layout-Manager detailliert konfigurierbar
lange Einarbeitungszeit viel Erfahrung nötig beste Resultate
14
GridBagLayout Gitterraster Unterschiedliche Zellengrößen möglich
Komponenten über mehrere Zellen
15
GridBag-Layout Instanz von GridBagLayout erzeugen und bei der Oberfläche registrieren Object GridBagConstraints für jede Komponente erzeugen und über deren Membervariablen konfigurieren Registrieren beim Layout-Manager setConstraints(Component, GridBagConstraints) Komponente bei Oberfläche registrieren add()
16
GridBagConstraints public GridBagConstraints( int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady) Tipp!
18
GridBagLayout Menüleiste
JButton, 3 Spalten unbenutzt JTextArea, 2 Spalten, 2 Zeilen JButton, SOUTHEAST
19
NULL-Layout Kein Layoutmanager Feste Positionierung der Komponenten
setLayout( null ); Feste Positionierung der Komponenten Erzeugen der Komponente Festlegung Position/Größe setSize(); setLocation(); setBounds(); Registrieren der Komponente Fenstergröße setzen (kein pack())
21
geschachtelte Layoutmanager
JFrame, GridLayout JPanel, BorderLayout JPanel, GridBagLayout JPanel, GridLayout
22
Bewertung Viel Mühe und Zeit Viel Erfahrung nötig Frustration
Abhängigkeiten komplexer Layouts Unabdingbar für Plattformunabhängigkeit Ein Muss für Java-Programmierer
27
Quellen GoTo Java 2, 2. Auflage, Guido Krüger, Addison-Wesley
Java professionell, Gerhard Wilhelms, Markus Kopp, MITP-Verlag
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.