Home » openjdk-7 » java » awt » [javadoc | source]
java.awt
public class: GridLayout [javadoc | source]
java.lang.Object
   java.awt.GridLayout

All Implemented Interfaces:
    LayoutManager, java$io$Serializable

The GridLayout class is a layout manager that lays out a container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed in each rectangle. For example, the following is an applet that lays out six buttons into three rows and two columns:


import java.awt.*;
import java.applet.Applet;
public class ButtonGrid extends Applet {
    public void init() {
        setLayout(new GridLayout(3,2));
        add(new Button("1"));
        add(new Button("2"));
        add(new Button("3"));
        add(new Button("4"));
        add(new Button("5"));
        add(new Button("6"));
    }
}

If the container's ComponentOrientation property is horizontal and left-to-right, the above example produces the output shown in Figure 1. If the container's ComponentOrientation property is horizontal and right-to-left, the example produces the output shown in Figure 2.

Shows 6 buttons in rows of 2. Row 1 shows buttons 1 then 2.
Row 2 shows buttons 3 then 4. Row 3 shows buttons 5 then 6. Shows 6 buttons in rows of 2. Row 1 shows buttons 2 then 1.
Row 2 shows buttons 4 then 3. Row 3 shows buttons 6 then 5.
Figure 1: Horizontal, Left-to-Right Figure 2: Horizontal, Right-to-Left

When both the number of rows and the number of columns have been set to non-zero values, either by a constructor or by the setRows and setColumns methods, the number of columns specified is ignored. Instead, the number of columns is determined from the specified number of rows and the total number of components in the layout. So, for example, if three rows and two columns have been specified and nine components are added to the layout, they will be displayed as three rows of three columns. Specifying the number of columns affects the layout only when the number of rows is set to zero.

Field Summary
 int hgap    This is the horizontal gap (in pixels) which specifies the space between columns. They can be changed at any time. This should be a non-negative integer. 
 int vgap    This is the vertical gap (in pixels) which specifies the space between rows. They can be changed at any time. This should be a non negative integer. 
 int rows    This is the number of rows specified for the grid. The number of rows can be changed at any time. This should be a non negative integer, where '0' means 'any number' meaning that the number of Rows in that dimension depends on the other dimension. 
 int cols    This is the number of columns specified for the grid. The number of columns can be changed at any time. This should be a non negative integer, where '0' means 'any number' meaning that the number of Columns in that dimension depends on the other dimension. 
Constructor:
 public GridLayout() 
 public GridLayout(int rows,
    int cols) 
 public GridLayout(int rows,
    int cols,
    int hgap,
    int vgap) 
Method from java.awt.GridLayout Summary:
addLayoutComponent,   getColumns,   getHgap,   getRows,   getVgap,   layoutContainer,   minimumLayoutSize,   preferredLayoutSize,   removeLayoutComponent,   setColumns,   setHgap,   setRows,   setVgap,   toString
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from java.awt.GridLayout Detail:
 public  void addLayoutComponent(String name,
    Component comp) 
    Adds the specified component with the specified name to the layout.
 public int getColumns() 
    Gets the number of columns in this layout.
 public int getHgap() 
    Gets the horizontal gap between components.
 public int getRows() 
    Gets the number of rows in this layout.
 public int getVgap() 
    Gets the vertical gap between components.
 public  void layoutContainer(Container parent) 
    Lays out the specified container using this layout.

    This method reshapes the components in the specified target container in order to satisfy the constraints of the GridLayout object.

    The grid layout manager determines the size of individual components by dividing the free space in the container into equal-sized portions according to the number of rows and columns in the layout. The container's free space equals the container's size minus any insets and any specified horizontal or vertical gap. All components in a grid layout are given the same size.

 public Dimension minimumLayoutSize(Container parent) 
    Determines the minimum size of the container argument using this grid layout.

    The minimum width of a grid layout is the largest minimum width of all of the components in the container times the number of columns, plus the horizontal padding times the number of columns minus one, plus the left and right insets of the target container.

    The minimum height of a grid layout is the largest minimum height of all of the components in the container times the number of rows, plus the vertical padding times the number of rows minus one, plus the top and bottom insets of the target container.

 public Dimension preferredLayoutSize(Container parent) 
    Determines the preferred size of the container argument using this grid layout.

    The preferred width of a grid layout is the largest preferred width of all of the components in the container times the number of columns, plus the horizontal padding times the number of columns minus one, plus the left and right insets of the target container.

    The preferred height of a grid layout is the largest preferred height of all of the components in the container times the number of rows, plus the vertical padding times the number of rows minus one, plus the top and bottom insets of the target container.

 public  void removeLayoutComponent(Component comp) 
    Removes the specified component from the layout.
 public  void setColumns(int cols) 
    Sets the number of columns in this layout to the specified value. Setting the number of columns has no affect on the layout if the number of rows specified by a constructor or by the setRows method is non-zero. In that case, the number of columns displayed in the layout is determined by the total number of components and the number of rows specified.
 public  void setHgap(int hgap) 
    Sets the horizontal gap between components to the specified value.
 public  void setRows(int rows) 
    Sets the number of rows in this layout to the specified value.
 public  void setVgap(int vgap) 
    Sets the vertical gap between components to the specified value.
 public String toString() 
    Returns the string representation of this grid layout's values.