|
|||||||||
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 a 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.
The rectangles are proportionally sized to fill the panel, to prevent the rectangles from being stretched to fill the panel call the setFixedSize(boolean, boolean) method. By default the layout manager will stretch the components to fill the panel.
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 java.awt.GridLayout code by Arthur van Hoff version 1.42, 11/17/05
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 |
setFixedSize(boolean v,
boolean h)
Sets the can stretch state of the horizontal and vertical axis. |
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 |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
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 void setFixedSize(boolean v, boolean h)
v
- - true to fix the vertical axis to prevent the rows being stretched to fill the panel.h
- - true to fix the horizontal axis to prevent the columns being stretched to fill the panel.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 |