java.awt
Class GridLayout

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.awt.GridLayout
All Implemented Interfaces:
LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager , Serializable sample code for java.io.Serializable definition code for java.io.Serializable

public class GridLayout
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager , Serializable sample code for java.io.Serializable definition code for 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 or 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.

Since:
JDK1.0
See Also:
Serialized Form

Constructor Summary
GridLayout sample code for java.awt.GridLayout.GridLayout() definition code for java.awt.GridLayout.GridLayout() ()
          Creates a grid layout with a default of one column per component, in a single row.
GridLayout sample code for java.awt.GridLayout.GridLayout(int, int) definition code for java.awt.GridLayout.GridLayout(int, int) (int rows, int cols)
          Creates a grid layout with the specified number of rows and columns.
GridLayout sample code for java.awt.GridLayout.GridLayout(int, int, int, int) definition code for java.awt.GridLayout.GridLayout(int, int, int, int) (int rows, int cols, int hgap, int vgap)
          Creates a grid layout with the specified number of rows and columns.
 
Method Summary
 void addLayoutComponent sample code for java.awt.GridLayout.addLayoutComponent(java.lang.String, java.awt.Component) definition code for java.awt.GridLayout.addLayoutComponent(java.lang.String, java.awt.Component) (String sample code for java.lang.String definition code for java.lang.String  name, Component sample code for java.awt.Component definition code for java.awt.Component  comp)
          Adds the specified component with the specified name to the layout.
 int getColumns sample code for java.awt.GridLayout.getColumns() definition code for java.awt.GridLayout.getColumns() ()
          Gets the number of columns in this layout.
 int getHgap sample code for java.awt.GridLayout.getHgap() definition code for java.awt.GridLayout.getHgap() ()
          Gets the horizontal gap between components.
 int getRows sample code for java.awt.GridLayout.getRows() definition code for java.awt.GridLayout.getRows() ()
          Gets the number of rows in this layout.
 int getVgap sample code for java.awt.GridLayout.getVgap() definition code for java.awt.GridLayout.getVgap() ()
          Gets the vertical gap between components.
 void layoutContainer sample code for java.awt.GridLayout.layoutContainer(java.awt.Container) definition code for java.awt.GridLayout.layoutContainer(java.awt.Container) (Container sample code for java.awt.Container definition code for java.awt.Container  parent)
          Lays out the specified container using this layout.
 Dimension sample code for java.awt.Dimension definition code for java.awt.Dimension minimumLayoutSize sample code for java.awt.GridLayout.minimumLayoutSize(java.awt.Container) definition code for java.awt.GridLayout.minimumLayoutSize(java.awt.Container) (Container sample code for java.awt.Container definition code for java.awt.Container  parent)
          Determines the minimum size of the container argument using this grid layout.
 Dimension sample code for java.awt.Dimension definition code for java.awt.Dimension preferredLayoutSize sample code for java.awt.GridLayout.preferredLayoutSize(java.awt.Container) definition code for java.awt.GridLayout.preferredLayoutSize(java.awt.Container) (Container sample code for java.awt.Container definition code for java.awt.Container  parent)
          Determines the preferred size of the container argument using this grid layout.
 void removeLayoutComponent sample code for java.awt.GridLayout.removeLayoutComponent(java.awt.Component) definition code for java.awt.GridLayout.removeLayoutComponent(java.awt.Component) (Component sample code for java.awt.Component definition code for java.awt.Component  comp)
          Removes the specified component from the layout.
 void setColumns sample code for java.awt.GridLayout.setColumns(int) definition code for java.awt.GridLayout.setColumns(int) (int cols)
          Sets the number of columns in this layout to the specified value.
 void setHgap sample code for java.awt.GridLayout.setHgap(int) definition code for java.awt.GridLayout.setHgap(int) (int hgap)
          Sets the horizontal gap between components to the specified value.
 void setRows sample code for java.awt.GridLayout.setRows(int) definition code for java.awt.GridLayout.setRows(int) (int rows)
          Sets the number of rows in this layout to the specified value.
 void setVgap sample code for java.awt.GridLayout.setVgap(int) definition code for java.awt.GridLayout.setVgap(int) (int vgap)
          Sets the vertical gap between components to the specified value.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for java.awt.GridLayout.toString() definition code for java.awt.GridLayout.toString() ()
          Returns the string representation of this grid layout's values.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

GridLayout sample code for java.awt.GridLayout() definition code for java.awt.GridLayout()

public GridLayout()
Creates a grid layout with a default of one column per component, in a single row.

Since:
JDK1.1

GridLayout sample code for java.awt.GridLayout(int, int) definition code for java.awt.GridLayout(int, int)

public GridLayout(int rows,
                  int cols)
Creates a grid layout with the specified number of rows and columns. All components in the layout are given equal size.

One, but not both, of rows and cols can be zero, which means that any number of objects can be placed in a row or in a column.

Parameters:
rows - the rows, with the value zero meaning any number of rows.
cols - the columns, with the value zero meaning any number of columns.

GridLayout sample code for java.awt.GridLayout(int, int, int, int) definition code for java.awt.GridLayout(int, int, int, int)

public GridLayout(int rows,
                  int cols,
                  int hgap,
                  int vgap)
Creates a grid layout with the specified number of rows and columns. All components in the layout are given equal size.

In addition, the horizontal and vertical gaps are set to the specified values. Horizontal gaps are placed between each of the columns. Vertical gaps are placed between each of the rows.

One, but not both, of rows and cols can be zero, which means that any number of objects can be placed in a row or in a column.

All GridLayout constructors defer to this one.

Parameters:
rows - the rows, with the value zero meaning any number of rows
cols - the columns, with the value zero meaning any number of columns
hgap - the horizontal gap
vgap - the vertical gap
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the value of both rows and cols is set to zero
Method Detail

getRows sample code for java.awt.GridLayout.getRows() definition code for java.awt.GridLayout.getRows()

public int getRows()
Gets the number of rows in this layout.

Returns:
the number of rows in this layout
Since:
JDK1.1

setRows sample code for java.awt.GridLayout.setRows(int) definition code for java.awt.GridLayout.setRows(int)

public void setRows(int rows)
Sets the number of rows in this layout to the specified value.

Parameters:
rows - the number of rows in this layout
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the value of both rows and cols is set to zero
Since:
JDK1.1

getColumns sample code for java.awt.GridLayout.getColumns() definition code for java.awt.GridLayout.getColumns()

public int getColumns()
Gets the number of columns in this layout.

Returns:
the number of columns in this layout
Since:
JDK1.1

setColumns sample code for java.awt.GridLayout.setColumns(int) definition code for java.awt.GridLayout.setColumns(int)

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.

Parameters:
cols - the number of columns in this layout
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if the value of both rows and cols is set to zero
Since:
JDK1.1

getHgap sample code for java.awt.GridLayout.getHgap() definition code for java.awt.GridLayout.getHgap()

public int getHgap()
Gets the horizontal gap between components.

Returns:
the horizontal gap between components
Since:
JDK1.1

setHgap sample code for java.awt.GridLayout.setHgap(int) definition code for java.awt.GridLayout.setHgap(int)

public void setHgap(int hgap)
Sets the horizontal gap between components to the specified value.

Parameters:
hgap - the horizontal gap between components
Since:
JDK1.1

getVgap sample code for java.awt.GridLayout.getVgap() definition code for java.awt.GridLayout.getVgap()

public int getVgap()
Gets the vertical gap between components.

Returns:
the vertical gap between components
Since:
JDK1.1

setVgap sample code for java.awt.GridLayout.setVgap(int) definition code for java.awt.GridLayout.setVgap(int)

public void setVgap(int vgap)
Sets the vertical gap between components to the specified value.

Parameters:
vgap - the vertical gap between components
Since:
JDK1.1

addLayoutComponent sample code for java.awt.GridLayout.addLayoutComponent(java.lang.String, java.awt.Component) definition code for java.awt.GridLayout.addLayoutComponent(java.lang.String, java.awt.Component)

public void addLayoutComponent(String sample code for java.lang.String definition code for java.lang.String  name,
                               Component sample code for java.awt.Component definition code for java.awt.Component  comp)
Adds the specified component with the specified name to the layout.

Specified by:
addLayoutComponent sample code for java.awt.LayoutManager.addLayoutComponent(java.lang.String, java.awt.Component) definition code for java.awt.LayoutManager.addLayoutComponent(java.lang.String, java.awt.Component) in interface LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager
Parameters:
name - the name of the component
comp - the component to be added

removeLayoutComponent sample code for java.awt.GridLayout.removeLayoutComponent(java.awt.Component) definition code for java.awt.GridLayout.removeLayoutComponent(java.awt.Component)

public void removeLayoutComponent(Component sample code for java.awt.Component definition code for java.awt.Component  comp)
Removes the specified component from the layout.

Specified by:
removeLayoutComponent sample code for java.awt.LayoutManager.removeLayoutComponent(java.awt.Component) definition code for java.awt.LayoutManager.removeLayoutComponent(java.awt.Component) in interface LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager
Parameters:
comp - the component to be removed

preferredLayoutSize sample code for java.awt.GridLayout.preferredLayoutSize(java.awt.Container) definition code for java.awt.GridLayout.preferredLayoutSize(java.awt.Container)

public Dimension sample code for java.awt.Dimension definition code for java.awt.Dimension  preferredLayoutSize(Container sample code for java.awt.Container definition code for java.awt.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.

Specified by:
preferredLayoutSize sample code for java.awt.LayoutManager.preferredLayoutSize(java.awt.Container) definition code for java.awt.LayoutManager.preferredLayoutSize(java.awt.Container) in interface LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager
Parameters:
parent - the container in which to do the layout
Returns:
the preferred dimensions to lay out the subcomponents of the specified container
See Also:
minimumLayoutSize(java.awt.Container) sample code for java.awt.GridLayout.minimumLayoutSize(java.awt.Container) definition code for java.awt.GridLayout.minimumLayoutSize(java.awt.Container) , Container.getPreferredSize() sample code for java.awt.Container.getPreferredSize() definition code for java.awt.Container.getPreferredSize()

minimumLayoutSize sample code for java.awt.GridLayout.minimumLayoutSize(java.awt.Container) definition code for java.awt.GridLayout.minimumLayoutSize(java.awt.Container)

public Dimension sample code for java.awt.Dimension definition code for java.awt.Dimension  minimumLayoutSize(Container sample code for java.awt.Container definition code for java.awt.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.

Specified by:
minimumLayoutSize sample code for java.awt.LayoutManager.minimumLayoutSize(java.awt.Container) definition code for java.awt.LayoutManager.minimumLayoutSize(java.awt.Container) in interface LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager
Parameters:
parent - the container in which to do the layout
Returns:
the minimum dimensions needed to lay out the subcomponents of the specified container
See Also:
preferredLayoutSize(java.awt.Container) sample code for java.awt.GridLayout.preferredLayoutSize(java.awt.Container) definition code for java.awt.GridLayout.preferredLayoutSize(java.awt.Container) , Container.doLayout() sample code for java.awt.Container.doLayout() definition code for java.awt.Container.doLayout()

layoutContainer sample code for java.awt.GridLayout.layoutContainer(java.awt.Container) definition code for java.awt.GridLayout.layoutContainer(java.awt.Container)

public void layoutContainer(Container sample code for java.awt.Container definition code for java.awt.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.

Specified by:
layoutContainer sample code for java.awt.LayoutManager.layoutContainer(java.awt.Container) definition code for java.awt.LayoutManager.layoutContainer(java.awt.Container) in interface LayoutManager sample code for java.awt.LayoutManager definition code for java.awt.LayoutManager
Parameters:
parent - the container in which to do the layout
See Also:
Container sample code for java.awt.Container definition code for java.awt.Container , Container.doLayout() sample code for java.awt.Container.doLayout() definition code for java.awt.Container.doLayout()

toString sample code for java.awt.GridLayout.toString() definition code for java.awt.GridLayout.toString()

public String sample code for java.lang.String definition code for java.lang.String  toString()
Returns the string representation of this grid layout's values.

Overrides:
toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a string representation of this grid layout