Layoutmanager in Java – Teil 1
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.