java::awt::GridLayout Class Reference

Inheritance diagram for java::awt::GridLayout:

Inheritance graph
java::lang::Objectjava::lang::Interfacejava::awt::LayoutManager
[legend]
Collaboration diagram for java::awt::GridLayout:

Collaboration graph
java::lang::Objectjava::lang::Interfacejava::awt::LayoutManager
[legend]

List of all members.


Detailed Description

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:


<blockquote>
 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"));
     }
 }
 
</blockquote>

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.

GridLayout-1.gif

GridLayout-2.gif

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.

Version:
1.35, 01/23/03
Author:
Arthur van Hoff
Since:
JDK1.0

Public Member Functions

 GridLayout (jint rows=1, jint cols=0, jint hgap=0, jint vgap=0)
 Creates a grid layout with the specified number of rows and columns.
virtual jint getRows () const
 Gets the number of rows in this layout.
virtual void setRows (jint rows)
 Sets the number of rows in this layout to the specified value.
virtual jint getColumns () const
 Gets the number of columns in this layout.
virtual void setColumns (jint cols)
 Sets the number of columns in this layout to the specified value.
virtual jint getHgap () const
 Gets the horizontal gap between components.
virtual void setHgap (jint hgap)
 Sets the horizontal gap between components to the specified value.
virtual jint getVgap () const
 Gets the vertical gap between components.
virtual void setVgap (jint vgap)
 Sets the vertical gap between components to the specified value.
virtual void addLayoutComponent (const String &name, const Ref< Component > &comp)
 Adds the specified component with the specified name to the layout.
virtual void removeLayoutComponent (const Ref< Component > &comp)
 Removes the specified component from the layout.
virtual Dimension minimumLayoutSize (const Container &target) const
 Determines the minimum size of the container argument using this grid layout.
virtual Dimension preferredLayoutSize (const Container &target) const
 Determines the preferred size of the container argument using this grid layout.
virtual void layoutContainer (const Container &target)
 Lays out the specified container using this layout.
virtual String toString () const
 Returns the string representation of this grid layout's values.

Protected Attributes

jint rows
 This is the number of rows specified for the grid.
jint cols
 This is the number of columns specified for the grid.
jint hgap
 This is the horizontal gap (in pixels) which specifies the space between columns.
jint vgap
 This is the vertical gap (in pixels) which specifies the space between rows.
 REGISTER_MEMBERS

Constructor & Destructor Documentation

java::awt::GridLayout::GridLayout ( jint  rows = 1,
jint  cols = 0,
jint  hgap = 0,
jint  vgap = 0 
)

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 at the left and right edges, and between each of the columns. Vertical gaps are placed at the top and bottom edges, and 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
Exceptions:
IllegalArgumentException if the value of both rows and cols is set to zero


Member Function Documentation

virtual jint java::awt::GridLayout::getRows (  )  const [virtual]

Gets the number of rows in this layout.

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

virtual void java::awt::GridLayout::setRows ( jint  rows  )  [virtual]

Sets the number of rows in this layout to the specified value.

Parameters:
rows the number of rows in this layout
Exceptions:
IllegalArgumentException if the value of both rows and cols is set to zero
Since:
JDK1.1

virtual jint java::awt::GridLayout::getColumns (  )  const [virtual]

Gets the number of columns in this layout.

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

virtual void java::awt::GridLayout::setColumns ( jint  cols  )  [virtual]

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
Exceptions:
IllegalArgumentException if the value of both rows and cols is set to zero
Since:
JDK1.1

virtual jint java::awt::GridLayout::getHgap (  )  const [virtual]

Gets the horizontal gap between components.

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

virtual void java::awt::GridLayout::setHgap ( jint  hgap  )  [virtual]

Sets the horizontal gap between components to the specified value.

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

virtual jint java::awt::GridLayout::getVgap (  )  const [virtual]

Gets the vertical gap between components.

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

virtual void java::awt::GridLayout::setVgap ( jint  vgap  )  [virtual]

Sets the vertical gap between components to the specified value.

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

virtual void java::awt::GridLayout::addLayoutComponent ( const String name,
const Ref< Component > &  comp 
) [virtual]

Adds the specified component with the specified name to the layout.

Parameters:
name the name of the component
comp the component to be added

Implements java::awt::LayoutManager.

virtual void java::awt::GridLayout::removeLayoutComponent ( const Ref< Component > &  comp  )  [virtual]

Removes the specified component from the layout.

Parameters:
comp the component to be removed

Implements java::awt::LayoutManager.

virtual Dimension java::awt::GridLayout::minimumLayoutSize ( const Container target  )  const [virtual]

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 any of the components in the container times the number of columns, plus the horizontal padding times the number of columns plus one, plus the left and right insets of the target container.

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

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:
java.awt.GridLayout::preferredLayoutSize

java.awt.Container::doLayout

Implements java::awt::LayoutManager.

virtual Dimension java::awt::GridLayout::preferredLayoutSize ( const Container target  )  const [virtual]

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 any of the components in the container times the number of columns, plus the horizontal padding times the number of columns plus one, plus the left and right insets of the target container.

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

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:
java.awt.GridLayout::minimumLayoutSize

java.awt.Container::getPreferredSize()

Implements java::awt::LayoutManager.

virtual void java::awt::GridLayout::layoutContainer ( const Container target  )  [virtual]

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.

Parameters:
parent the container in which to do the layout
See also:
java.awt.Container

java.awt.Container::doLayout

Implements java::awt::LayoutManager.

virtual String java::awt::GridLayout::toString (  )  const [virtual]

Returns the string representation of this grid layout's values.

Returns:
a string representation of this grid layout

Reimplemented from java::lang::Object.


Member Data Documentation

jint java::awt::GridLayout::rows [protected]

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.

See also:
getRows()

setRows(int)

jint java::awt::GridLayout::cols [protected]

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.

See also:
getColumns()

setColumns(int)

jint java::awt::GridLayout::hgap [protected]

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.

See also:
getHgap()

setHgap(int)

jint java::awt::GridLayout::vgap [protected]

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.

See also:
getVgap()

setVgap(int)

java::awt::GridLayout::REGISTER_MEMBERS [protected]

Reimplemented from java::awt::LayoutManager.


The documentation for this class was generated from the following file:
Generated on Fri May 16 11:56:00 2008 for CrossPlatformJavaLikeC++API by  doxygen 1.5.3