1 / 27

-Seminar-

Java 3D. -Seminar-. Java Layout Manager (JLM) Marc Dziadek. Begriffsdefinition. Oberfläche 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.

cody
Download Presentation

-Seminar-

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java 3D -Seminar- Java Layout Manager (JLM) Marc Dziadek

  2. Begriffsdefinition • Oberfläche • 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 • 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 registrierenadd(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. Flow-Layout • einfachster Layoutmanager • Ordnet die Elemente hintereinander an („Kette“) • public FlowLayout(int align, int hgap, int vgap)

  8. 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)

  9. 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)

  10. Border-Layout • Oberfläche in 5 Bereiche aufgeteilt(North, West, Center, East, South) • Spezifikation des Bereiches • add(String name, Component component) • Komponentenskalierung bereichsabhängig

  11. GridBag-Layout • komplexer Layout-Manager • detailliert konfigurierbar • lange Einarbeitungszeit • viel Erfahrung nötig • beste Resultate

  12. GridBagLayout • Gitterraster • Unterschiedliche Zellengrößen möglich • Komponenten über mehrere Zellen

  13. 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-ManagersetConstraints(Component, GridBagConstraints) • Komponente bei Oberfläche registrierenadd()

  14. 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!

  15. Menüleiste --------------JButton, 3 Spalten----------------- JTextArea, 2 Spalten, 2 Zeilen unbenutzt GridBagLayout JButton, SOUTHEAST

  16. NULL-Layout • Kein Layoutmanager • setLayout( null ); • Feste Positionierung der Komponenten • Erzeugen der Komponente • Festlegung Position/GrößesetSize(); setLocation(); setBounds(); • Registrieren der Komponente • Fenstergröße setzen (kein pack())

  17. JFrame,GridLayout JPanel, GridBagLayout JPanel, BorderLayout JPanel, GridLayout geschachtelte Layoutmanager

  18. 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

  19. Quellen • GoTo Java 2, 2. Auflage, Guido Krüger, Addison-Wesley • Java professionell, Gerhard Wilhelms, Markus Kopp, MITP-Verlag • http://java.sun.com • http://www.java3d.org

More Related