public class VerticalGridLayout
extends java.lang.Object
implements java.awt.LayoutManager, java.io.Serializable
VerticalGridLayout
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 VerticalGridLayout (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.
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.
Constructor and Description |
---|
VerticalGridLayout()
Creates a grid layout with a default of one column per component, in a
single row.
|
VerticalGridLayout(int rows,
int cols)
Creates a grid layout with the specified number of rows and columns.
|
VerticalGridLayout(int rows,
int cols,
int hgap,
int vgap)
Creates a grid layout with the specified number of rows and columns.
|
Modifier and Type | Method and Description |
---|---|
void |
addLayoutComponent(java.lang.String name,
java.awt.Component comp)
Adds the specified component with the specified name to the layout.
|
int |
getColumns()
Gets the number of columns in this layout.
|
int |
getHgap()
Gets the horizontal gap between components.
|
int |
getRows()
Gets the number of rows in this layout.
|
int |
getVgap()
Gets the vertical gap between components.
|
void |
layoutContainer(java.awt.Container parent)
Lays out the specified container using this layout.
|
java.awt.Dimension |
minimumLayoutSize(java.awt.Container parent)
Determines the minimum size of the container argument using this grid
layout.
|
java.awt.Dimension |
preferredLayoutSize(java.awt.Container parent)
Determines the preferred size of the container argument using this grid
layout.
|
void |
removeLayoutComponent(java.awt.Component comp)
Removes the specified component from the layout.
|
void |
setColumns(int cols)
Sets the number of columns in this layout to the specified value.
|
void |
setHgap(int hgap)
Sets the horizontal gap between components to the specified value.
|
void |
setRows(int rows)
Sets the number of rows in this layout to the specified value.
|
void |
setVgap(int vgap)
Sets the vertical gap between components to the specified value.
|
java.lang.String |
toString()
Returns the string representation of this grid layout's values.
|
public VerticalGridLayout()
public VerticalGridLayout(int rows, int cols)
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.
rows
- the rows, with the value zero meaning any number of rows.cols
- the columns, with the value zero meaning any number of columns.public VerticalGridLayout(int rows, int cols, int hgap, int vgap)
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 VerticalGridLayout
constructors defer to this one.
rows
- the rows, with the value zero meaning any number of rowscols
- the columns, with the value zero meaning any number of columnshgap
- the horizontal gapvgap
- the vertical gapjava.lang.IllegalArgumentException
- if the value of both rows
and cols
is set to
zeropublic int getRows()
public void setRows(int rows)
rows
- the number of rows in this layoutjava.lang.IllegalArgumentException
- if the value of both rows
and cols
is set to
zeropublic int getColumns()
public void setColumns(int cols)
cols
- the number of columns in this layoutjava.lang.IllegalArgumentException
- if the value of both rows
and cols
is set to
zeropublic int getHgap()
public void setHgap(int hgap)
hgap
- the horizontal gap between componentspublic int getVgap()
public void setVgap(int vgap)
vgap
- the vertical gap between componentspublic void addLayoutComponent(java.lang.String name, java.awt.Component comp)
addLayoutComponent
in interface java.awt.LayoutManager
name
- the name of the componentcomp
- the component to be addedpublic void removeLayoutComponent(java.awt.Component comp)
removeLayoutComponent
in interface java.awt.LayoutManager
comp
- the component to be removedpublic java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
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.
preferredLayoutSize
in interface java.awt.LayoutManager
parent
- the container in which to do the layoutpublic java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
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.
minimumLayoutSize
in interface java.awt.LayoutManager
parent
- the container in which to do the layoutpublic void layoutContainer(java.awt.Container parent)
This method reshapes the components in the specified target container in
order to satisfy the constraints of the VerticalGridLayout
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.
layoutContainer
in interface java.awt.LayoutManager
parent
- the container in which to do the layoutContainer
,
Container.doLayout()
public java.lang.String toString()
toString
in class java.lang.Object