Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Java Layout Manager (JLM) Marc Dziadek

Ähnliche Präsentationen


Präsentation zum Thema: "Java Layout Manager (JLM) Marc Dziadek"—  Präsentation transkript:

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()

7

8

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!

17

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())

20

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

23

24

25

26

27 Quellen GoTo Java 2, 2. Auflage, Guido Krüger, Addison-Wesley
Java professionell, Gerhard Wilhelms, Markus Kopp, MITP-Verlag


Herunterladen ppt "Java Layout Manager (JLM) Marc Dziadek"

Ähnliche Präsentationen


Google-Anzeigen