|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gjt.sp.jedit.gui.VariableGridLayout
public class VariableGridLayout
The VariableGridLayout
class is a layout manager
that lays out a container's components in a rectangular grid
with variable cell sizes.
The container is divided into rectangles, and one component is placed in each rectangle. Each row is as large as the largest component in that row, and each column is as wide as the widest component in that column.
This behavior is basically the same as in
java.awt.GridLayout
, but with different row heights and
column widths for each row/column.
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 VariableGridLayout(VariableGridLayout.FIXED_NUM_COLUMNS, 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")); } }
Programmer's remark: VariableGridLayout could be faster, if it would
reside in the package java.awt, because then it could access some
package private fields of Container
or
Component
. Instead, it has to call
Component.getSize()
,
which allocates memory on the heap.
Todo:
GridLayout
,
Serialized FormField Summary | |
---|---|
static int |
FIXED_NUM_COLUMNS
|
static int |
FIXED_NUM_ROWS
|
Constructor Summary | |
---|---|
VariableGridLayout()
Creates a variable grid layout manager with mode FIXED_NUM_ROWS, number of rows == 1, zero horizontal and vertical gap, and zero distance to borders. |
|
VariableGridLayout(int mode,
int size)
Creates a variable grid layout manager with the specified mode and size, zero horizontal and vertical gap, and zero distance to borders. |
|
VariableGridLayout(int mode,
int size,
int hgap,
int vgap)
Creates a variable grid layout manager with the specified mode, size, horizontal and vertical gap, and zero distance to borders. |
|
VariableGridLayout(int mode,
int size,
int hgap,
int vgap,
boolean takeSizesIntoAccount)
Creates a variable grid layout manager with the specified mode, size, horizontal and vertical gap, eventually taking minimum and maximum sizes into account when distributing free space, depending on takeSizesIntoAccount and zero distance to borders. |
|
VariableGridLayout(int mode,
int size,
int hgap,
int vgap,
boolean takeSizesIntoAccount,
java.awt.Insets distanceToBorders)
Creates a variable grid layout manager with the specified mode, size, horizontal and vertical gap, eventually taking minimum and maximum sizes into account when distributing free space, depending on takeSizesIntoAccount and the specified distance to the borders. |
Method Summary | |
---|---|
void |
addLayoutComponent(java.awt.Component component,
java.lang.Object constraints)
Not used in this class. |
void |
addLayoutComponent(java.lang.String name,
java.awt.Component component)
Not used in this class. |
float |
getLayoutAlignmentX(java.awt.Container container)
Always returns 0.5. |
float |
getLayoutAlignmentY(java.awt.Container container)
Always returns 0.5. |
void |
invalidateLayout(java.awt.Container container)
|
void |
layoutContainer(java.awt.Container parent)
|
java.awt.Dimension |
maximumLayoutSize(java.awt.Container parent)
|
java.awt.Dimension |
minimumLayoutSize(java.awt.Container parent)
|
java.awt.Dimension |
preferredLayoutSize(java.awt.Container parent)
|
void |
removeLayoutComponent(java.awt.Component component)
Not used in this class. |
java.lang.String |
toString()
Returns the string representation of this variable grid layout's values. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int FIXED_NUM_ROWS
public static final int FIXED_NUM_COLUMNS
Constructor Detail |
---|
public VariableGridLayout(int mode, int size, int hgap, int vgap, boolean takeSizesIntoAccount, java.awt.Insets distanceToBorders)
mode
- The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNSsize
- The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS (>0)hgap
- The horizontal space between cells (>=0)vgap
- The vertical space between cells (>=0)takeSizesIntoAccount
- Whether to take minimum and maximum sizes into account when distributing free spacedistanceToBorders
- The distances to the borders
java.lang.IllegalArgumentException
- if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 or hgap or vgap is < 0public VariableGridLayout(int mode, int size, int hgap, int vgap, boolean takeSizesIntoAccount)
mode
- The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNSsize
- The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS (>0)hgap
- The horizontal space between cells (>=0)vgap
- The vertical space between cells (>=0)takeSizesIntoAccount
- Whether to take minimum and maximum sizes into account when distributing free space
java.lang.IllegalArgumentException
- if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 or hgap or vgap is < 0public VariableGridLayout(int mode, int size, int hgap, int vgap)
mode
- The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNSsize
- The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNShgap
- The horizontal space between cellsvgap
- The vertical space between cells
java.lang.IllegalArgumentException
- if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 or hgap or vgap is < 0public VariableGridLayout(int mode, int size)
mode
- The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNSsize
- The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS
java.lang.IllegalArgumentException
- if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0public VariableGridLayout()
Method Detail |
---|
public void addLayoutComponent(java.lang.String name, java.awt.Component component)
addLayoutComponent
in interface java.awt.LayoutManager
public void addLayoutComponent(java.awt.Component component, java.lang.Object constraints)
addLayoutComponent
in interface java.awt.LayoutManager2
public void removeLayoutComponent(java.awt.Component component)
removeLayoutComponent
in interface java.awt.LayoutManager
public float getLayoutAlignmentX(java.awt.Container container)
getLayoutAlignmentX
in interface java.awt.LayoutManager2
public float getLayoutAlignmentY(java.awt.Container container)
getLayoutAlignmentY
in interface java.awt.LayoutManager2
public java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
preferredLayoutSize
in interface java.awt.LayoutManager
public java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
minimumLayoutSize
in interface java.awt.LayoutManager
public java.awt.Dimension maximumLayoutSize(java.awt.Container parent)
maximumLayoutSize
in interface java.awt.LayoutManager2
public void layoutContainer(java.awt.Container parent)
layoutContainer
in interface java.awt.LayoutManager
public void invalidateLayout(java.awt.Container container)
invalidateLayout
in interface java.awt.LayoutManager2
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 |