~Java4Beginners~
~Java4Beginners~

GridLayout

Beim GridLayout ist es ebenso der Fall, dass wir keinen Einfluss auf die Platzierung haben. Beim GridLayout wird eine Matrix (Zeilen, Spalten) angegeben. Die Komponenten werden nun Zeilenweise hinzugefügt. In nachfolgendem Beispiel wurde eine Matrix von 3 Zeilen und 1 Spalte definiert, d. h. es sollen 3 Buttons untereinander eingefügt werden.





Was passiert allerdings, wenn wir mehr Komponenten, in unserem Falle Buttons, einfügen, als wir in der Matrix definiert haben? Wenn die definierte Zeilenanzahl erreicht wird, werden weitere Komponenten in der nächsten Spalte angefügt, d. h. für das GridLayout, dass für die Matix die Zeilenangabe fix ist. Die Spaltenangabe wird bei Überfüllung angepasst. Des weiteren versucht das Grid-Layout eine paarige Aufteilung zwischen Zeile und Spalte, wie in nachfolgendem Screen mit 4 Buttons ersichtlich ist.

Parameter

Beim Grid-Layout können wir insgesamt 4 Parameter angeben, wobei 2 Parameter immer zusammengehören.

zeilen, spalten, angegeben als int-Wert stehen für die Matrix.

hgap, vgap, auch als int-Wert angegeben, stehen für die Lücken zwischen den Komponenten.

Konstruktor

Das GridLayout stellt uns 3 Konstruktoren zur Verfügung.
  • GridLayout() - Die Matrix beträgt beim Standardkonstruktor 1 Zeile
  • GridLayout(zeile, spalte)
  • GridLayout(zeile, spalte, hgap, vgap)

Methoden

Methode Erklärung
getColumns() Die Anzahl der Spalten werden als int-Wert zurückgegeben.
setColumns(anzahl) Mit dem angegebenen intWert anzahl wird die Anzahl der Spalten gesetzt.
getRows() Die Anzahl der Zeilen wird als int-Wert zurückgegeben.
setRows(anzahl) Mit dem angegebenen intWert anzahl wird die Anzahl der Zeilen gesetzt.
getHgap() Der horizontale Abstand wird als int-Wert zurückgegeben.
setHgap(abstand) Mit dem angegebenen int-Wert abstand wird der horizontale Abstand gesetzt.
getVgap() Der vertikale Abstand wird als int-Wert zurückgegeben.
setVgap(abstand) Mit dem angegebenen int-Wert abstand wird der vertikale Abstand gesetzt.
addLayoutComponent(name,Komponente) Eine Komponente wird mit einem Namen dem Layout hinzugefügt.
removeLayoutComponent(Komponente) Die angegebene Komponente wird vom Layout entfernt.

Beispielprogramm

Die obigen Darstellungen wurden mit folgendem Beispielprogramm erstellt.

import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * Beispielprorgramm für GridLayout
 * @author Markus Badzura
 */
public class LayoutGrid extends JFrame
{
    public void LayoutGrid()
    {
        setTitle("Beispielprogramm LayoutGrid");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(400,200);
        setLocationRelativeTo(null);
        JPanel panel_grid = new JPanel(new GridLayout(3,1,10,10));
        // Objektarray für Button
        JButton bt[] = new JButton[4];
        // Durch Änderung Schleifenbedingung werden weniger oder mehr Buttons
        // hinzugefügt. Wenn mehr als 4 Button muss die Arraygröße angepasst
        // werden
        for (int i=0;i<4;i++)
        {
            bt[i] = new JButton((i+1)+"");  
            panel_grid.add(bt[i]);
        }        
        add(panel_grid);
        setVisible(true);
    }
    
    public static void main(String[] args) {
        LayoutGrid lg = new LayoutGrid();
        lg.LayoutGrid();
    }
}
nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-05-18