Techtab

[Programmieren] [Computer & Technik] [Webfunde] [Interessantes aus dem RL]

Artikel getaggt mit ‘Layout

Layoutmanager in Java – Teil 2

ohne Kommentare

So, im 2. Teil der Layoutmanager-Serie soll zunächst einmal das GridLayout besprochen werden. Mit diesem Layoutmanager unterteilen wir unser Fenster in gleich große Teile. Beispiel:
frame.setLayout( new GridLayout( 3, 2 ) );
Dies führt zu einer Unterteilung des Fensters in 3 Reihen und 2 Spalten. Werden jetzt Komponenten hinzugefügt, werden die einzelnen Zellen für die ganze Komponente benutzt – sie nimmt also den ganzen Teilbereich ein. „Aufgefüllt“ wird dabei von links nach rechts und anschließend von oben nach unten.
GridLayout ist ein recht einfacher Layoutmanager; allerdings gibt es noch eine Art Erweiterung dazu: das GridBagLayout. Mit diesem Layoutmanager lassen sich die Komponenten nicht nur in gleich großen Zellen platzieren, sondern es können auch andere Dinge bestimmt werden: die Position in der Zelle selbst, die Anzahl der Zellen, die eine Komponente horizontal/vertikal belegen soll, das Verhalten einer Komponente beim vergrößern/verkleinern des Fensters. Dazu bekommt jede Komponente ein GridBagConstraints-Objekt zugewiesen. In der Klasse GridBagConstraints lassen sich nun verschiedene Variablen setzen, die das Verhalten der Komponente bestimmen. An dieser Stelle sei auf das Sun-Tutorial verwiesen: GridBagLayout.

Geschrieben von theeem

Juni 11, 2008 um 10:05

Veröffentlicht in Programmieren

Getaggt mit , , ,

Layoutmanager in Java – Teil 1

ohne Kommentare

In diesem Eintrag sollen 2 Layoutmanager in Java besprochen werden; doch zuerst: wozu braucht man das überhaupt, einen Layoutmanager? Nun, wenn man Komponenten in einem Fenster anordnen möchte, so stellt sich doch die Frage: wie soll das Fenster hinterher aussehen? Wie sollen die Komponenten angeordnet werden? Die simpelste, aber umständlichste Variante:

frame.setLayout( null );

Hier wird garkein Layoutmanager benutzt, alle Komponenten müssen mit setBounds( ); einzeln „gesetzt“ werden.

Ein Layoutmanager kann uns hier nun viel Arbeit abnehmen: wir fügen die Komponenten hinzu, und der Layoutmanager bestimmt dann wie es am Ende aussieht; hierbei können wir unterschiedlich genau Positionen/Größen bestimmen, je nach vewendetem Layoutmanager. In Teil 1 sollen 2 Layoutmanager vorgestellt werden: das BorderLayout (Standardlayout für ein JFrame) und das FlowLayout (Standardlayout für ein JPanel).

Das BoderLayout unterteilt das das Fenster in 5 Teile: NORTH, CENTER, SOUTH, EAST, WEST. Komponenten werden so hinzugefügt:
frame.add( new JButton( "Button 1" ), BorderLayout.NORTH );

Hier wird ein Button im Norden des Frames hinzugefügt; prinzipiell lassen sich natürlich auch andere Komponenten hinzufügen – auch JPanels.

Das FlowLayout ist etwas simpler: Komponenten werden einfach nacheinander hinzugefügt, in einer Reihe von links nach rechts. Die Ausrichtung der Komponenten (z.B. links/rechtsbündig) lässt sich so bestimmen:
FlowLayout layout = new FlowLayout( FlowLayout.RIGHT);
frame.setLayout( layout );

Alle Komponenten in besagtem Frame werden nun also rechtsbündig ausgerichtet.

Geschrieben von theeem

Mai 29, 2008 um 12:59

Veröffentlicht in Programmieren

Getaggt mit ,