|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.co.keang.swingaddons.VariableGridLayout
public class VariableGridLayout
The VariableGridLayout
class is a layout manager that
lays out a container's components in a rectangular grid.
The container is divided into rectangles where the width of a
column is ratio of the preferred width of the widest component in
each column and the height of a row is a ratio of the preferred
height of the highest component in each row.
One component is placed in each rectangle.
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. This class is based on the original GridLayout code by Arthur van Hoff version 1.42, 11/17/05
Field Summary | |
---|---|
(package private) int |
cols
This is the number of columns specified for the grid. |
(package private) int |
hgap
This is the horizontal gap (in pixels) which specifies the space between columns. |
(package private) int |
rows
This is the number of rows specified for the grid. |
(package private) int |
vgap
This is the vertical gap (in pixels) which specifies the space between rows. |
Constructor Summary | |
---|---|
VariableGridLayout()
Creates a grid layout with a default of one column per component, in a single row. |
|
VariableGridLayout(int r,
int c)
Creates a grid layout with the specified number of rows and columns. |
|
VariableGridLayout(int r,
int c,
int hgp,
int vgp)
Creates a grid layout with the specified number of rows and columns. |
Method Summary | |
---|---|
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 c)
Sets the number of columns in this layout to the specified value. |
void |
setHgap(int hgp)
Sets the horizontal gap between components to the specified value. |
void |
setRows(int r)
Sets the number of rows in this layout to the specified value. |
void |
setVgap(int vgp)
Sets the vertical gap between components to the specified value. |
java.lang.String |
toString()
Returns the string representation of this grid layout's values. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
int hgap
getHgap()
,
setHgap(int)
int vgap
getVgap()
,
setVgap(int)
int rows
getRows()
,
setRows(int)
int cols
getColumns()
,
setColumns(int)
Constructor Detail |
---|
public VariableGridLayout()
public VariableGridLayout(int r, int c)
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.
r
- the rows, with the value zero meaning
any number of rows.c
- the columns, with the value zero meaning
any number of columns.public VariableGridLayout(int r, int c, int hgp, int vgp)
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 VariableGridLayout
constructors defer to this one.
r
- the rows, with the value zero meaning
any number of rowsc
- the columns, with the value zero meaning
any number of columnshgp
- the horizontal gapvgp
- the vertical gap
java.lang.IllegalArgumentException
- if the value of both
rows
and cols
is
set to zeroMethod Detail |
---|
public int getRows()
public void setRows(int r)
r
- the number of rows in this layout
java.lang.IllegalArgumentException
- if the value of both
rows
and cols
is set to zeropublic int getColumns()
public void setColumns(int c)
c
- the number of columns in this layout
java.lang.IllegalArgumentException
- if the value of both
rows
and cols
is set to zeropublic int getHgap()
public void setHgap(int hgp)
hgp
- the horizontal gap between componentspublic int getVgap()
public void setVgap(int vgp)
vgp
- 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 sum of the components largest preferred width of each column 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 sum of the components largest preferred height of each row 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.
preferredLayoutSize
in interface java.awt.LayoutManager
parent
- the container in which to do the layout
public java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
The minimum width of a grid layout is the sum of the components largest minimum width of each column 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 sum of the components largest minimum height of each row 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.
minimumLayoutSize
in interface java.awt.LayoutManager
parent
- the container in which to do the layout
public void layoutContainer(java.awt.Container parent)
This method reshapes the components in the specified target
container in order to satisfy the constraints of the
VariableGridLayout
object.
The variable grid layout manager determines the size of individual components by dividing the free space in the container into unequal portions according to relative maximum preferred sizes of largest component in each row and column in the layout. The container's free space equals the container's size minus any insets and any specified horizontal or vertical gap.
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |