Seminar
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

-Seminar- PowerPoint PPT Presentation


  • 99 Views
  • Uploaded on
  • Presentation posted in: General

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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Seminar

Java 3D

-Seminar-

Java Layout Manager (JLM)

Marc Dziadek


Begriffsdefinition

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


Gr nde f r layout manager

Gründe für Layout Manager

  • Standart: Feste Anordnung der Elemente

  • Java plattformunabhängig

    • Unterschiedliche Betriebssysteme

    • Unterschiedliche Ausgabegeräte

  • Unterschiedliche Elementgröße

     Verzerrtes Layout


Layout manager java pakete

Layout-Manager: Java-Pakete

  • java.awt.*

  • Einbinden in Quelltext

    • import java.awt.*;

    • import java.awt.<<Layoutmanager>>;


Funktionsweise

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.


Funktionsweise1

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


Flow layout

Flow-Layout

  • einfachster Layoutmanager

  • Ordnet die Elemente hintereinander an („Kette“)

  • public FlowLayout(int align, int hgap, int vgap)


Grid layout

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)


Grid layout1

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)


Border layout

Border-Layout

  • Oberfläche in 5 Bereiche aufgeteilt(North, West, Center, East, South)

  • Spezifikation des Bereiches

    • add(String name, Component component)

  • Komponentenskalierung bereichsabhängig


Gridbag layout

GridBag-Layout

  • komplexer Layout-Manager

  • detailliert konfigurierbar

  • lange Einarbeitungszeit

  • viel Erfahrung nötig

  • beste Resultate


Gridbaglayout

GridBagLayout

  • Gitterraster

  • Unterschiedliche Zellengrößen möglich

  • Komponenten über mehrere Zellen


Gridbag layout1

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


Gridbagconstraints

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!


Gridbaglayout1

Menüleiste

--------------JButton, 3 Spalten-----------------

JTextArea,

2 Spalten, 2 Zeilen

unbenutzt

GridBagLayout

JButton,

SOUTHEAST


Null layout

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


Geschachtelte layoutmanager

JFrame,GridLayout

JPanel, GridBagLayout

JPanel, BorderLayout

JPanel, GridLayout

geschachtelte Layoutmanager


Bewertung

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


Quellen

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


  • Login