| java.lang.Object org.gjt.sp.jedit.gui.VariableGridLayout
VariableGridLayout | public class VariableGridLayout implements LayoutManager2,java.io.Serializable(Code) | | 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:
- Ability to span components over more than one cell horizontally and vertically.
author: Dirk Moebius, Björn "Vampire" Kautler version: 1.5 See Also: java.awt.GridLayout |
Constructor Summary | |
public | VariableGridLayout(int mode, int size, int hgap, int vgap, boolean takeSizesIntoAccount, 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.
Parameters: mode - The mode in which to operate. | public | 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.
Parameters: mode - The mode in which to operate. | public | 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.
The minimum and maximum Component sizes are not taken into account
when distributing free space.
Parameters: mode - The mode in which to operate. | public | 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. | public | 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. |
FIXED_NUM_COLUMNS | final public static int FIXED_NUM_COLUMNS(Code) | | |
FIXED_NUM_ROWS | final public static int FIXED_NUM_ROWS(Code) | | |
VariableGridLayout | public VariableGridLayout(int mode, int size, int hgap, int vgap, boolean takeSizesIntoAccount, Insets distanceToBorders)(Code) | | 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.
Parameters: mode - The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS Parameters: size - The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS (>0) Parameters: hgap - The horizontal space between cells (>=0) Parameters: vgap - The vertical space between cells (>=0) Parameters: takeSizesIntoAccount - Whether to take minimum and maximum sizes into account when distributing free space Parameters: distanceToBorders - The distances to the borders throws: IllegalArgumentException - if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 or hgap or vgap is < 0 |
VariableGridLayout | public VariableGridLayout(int mode, int size, int hgap, int vgap, boolean takeSizesIntoAccount)(Code) | | 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.
Parameters: mode - The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS Parameters: size - The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS (>0) Parameters: hgap - The horizontal space between cells (>=0) Parameters: vgap - The vertical space between cells (>=0) Parameters: takeSizesIntoAccount - Whether to take minimum and maximum sizes into account when distributing free space throws: IllegalArgumentException - if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 or hgap or vgap is < 0 |
VariableGridLayout | public VariableGridLayout(int mode, int size, int hgap, int vgap)(Code) | | Creates a variable grid layout manager with the specified mode,
size, horizontal and vertical gap, and zero distance to borders.
The minimum and maximum Component sizes are not taken into account
when distributing free space.
Parameters: mode - The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS Parameters: size - The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS Parameters: hgap - The horizontal space between cells Parameters: vgap - The vertical space between cells throws: IllegalArgumentException - if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 or hgap or vgap is < 0 |
VariableGridLayout | public VariableGridLayout(int mode, int size)(Code) | | Creates a variable grid layout manager with the specified mode
and size, zero horizontal and vertical gap, and zero distance to borders.
Does not take minimum and maximum Component sizes into account when distributing
free space.
Parameters: mode - The mode in which to operate. Either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS Parameters: size - The amount of rows for mode FIXED_NUM_ROWS or the amount of columns for mode FIXED_NUM_COLUMNS throws: IllegalArgumentException - if mode is not either FIXED_NUM_ROWS or FIXED_NUM_COLUMNS or size is <= 0 |
VariableGridLayout | public VariableGridLayout()(Code) | | 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.
Does not take minimum and maximum Component sizes into account when
distributing free space.
|
addLayoutComponent | public void addLayoutComponent(String name, Component component)(Code) | | Not used in this class.
|
addLayoutComponent | public void addLayoutComponent(Component component, Object constraints)(Code) | | Not used in this class.
|
getLayoutAlignmentX | public float getLayoutAlignmentX(Container container)(Code) | | Always returns 0.5.
|
getLayoutAlignmentY | public float getLayoutAlignmentY(Container container)(Code) | | Always returns 0.5.
|
removeLayoutComponent | public void removeLayoutComponent(Component component)(Code) | | Not used in this class.
|
toString | public String toString()(Code) | | Returns the string representation of this variable grid layout's values.
a string representation of this variable grid layout. |
|
|