|
|||||||||
| Home >> All >> org >> gjt >> sp >> jedit >> [ gui overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.gjt.sp.jedit.gui
Class VariableGridLayout

java.lang.Objectorg.gjt.sp.jedit.gui.VariableGridLayout
- All Implemented Interfaces:
- java.awt.LayoutManager, java.awt.LayoutManager2, java.io.Serializable
- public class VariableGridLayout
- extends java.lang.Object
- implements java.awt.LayoutManager2, java.io.Serializable
- extends java.lang.Object
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:
- Use alignmentX/Y property if the grid cell is larger than the preferred size of the component.
- Ability to span components over more than one cell horizontally
- Version:
- 1.0
| Field Summary | |
private int[] |
col_widths
|
static int |
FIXED_NUM_COLUMNS
|
static int |
FIXED_NUM_ROWS
|
private int |
hgap
|
private int |
mode
|
private int |
ncols
|
private int |
nrows
|
private int[] |
row_heights
|
private int |
size
|
private int |
vgap
|
| Constructor Summary | |
VariableGridLayout()
Creates a variable grid layout manager with mode FIXED_NUM_ROWS, number of rows == 1 and zero horizontal and vertical gap. |
|
VariableGridLayout(int mode,
int size)
Creates a variable grid layout manager with the specified mode and zero horizontal and vertical gap. |
|
VariableGridLayout(int mode,
int size,
int hgap,
int vgap)
|
|
| 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. |
private java.awt.Dimension |
getLayoutSize(java.awt.Container parent,
int which)
|
void |
invalidateLayout(java.awt.Container container)
Forces the layout manager to purge any cached information about the layout of the target container. |
void |
layoutContainer(java.awt.Container parent)
Lays out the components in the given container. |
java.awt.Dimension |
maximumLayoutSize(java.awt.Container parent)
Determines the maximum size of the specified target container. |
java.awt.Dimension |
minimumLayoutSize(java.awt.Container parent)
Calculates the minimum size for this container, taking into account the components it contains. |
java.awt.Dimension |
preferredLayoutSize(java.awt.Container parent)
Calculates the preferred size for this container, taking into account the components it contains. |
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. |
private void |
update(java.awt.Container container)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
FIXED_NUM_ROWS
public static final int FIXED_NUM_ROWS
- See Also:
- Constant Field Values
FIXED_NUM_COLUMNS
public static final int FIXED_NUM_COLUMNS
- See Also:
- Constant Field Values
mode
private int mode
size
private int size
hgap
private int hgap
vgap
private int vgap
nrows
private transient int nrows
ncols
private transient int ncols
row_heights
private transient int[] row_heights
col_widths
private transient int[] col_widths
| Constructor Detail |
VariableGridLayout
public VariableGridLayout(int mode,
int size,
int hgap,
int vgap)
VariableGridLayout
public VariableGridLayout(int mode,
int size)
- Creates a variable grid layout manager with the specified mode
and zero horizontal and vertical gap.
VariableGridLayout
public VariableGridLayout()
- Creates a variable grid layout manager with mode FIXED_NUM_ROWS,
number of rows == 1 and zero horizontal and vertical gap.
| Method Detail |
addLayoutComponent
public void addLayoutComponent(java.lang.String name, java.awt.Component component)
- Not used in this class.
- Specified by:
addLayoutComponentin interfacejava.awt.LayoutManager
addLayoutComponent
public void addLayoutComponent(java.awt.Component component, java.lang.Object constraints)
- Not used in this class.
- Specified by:
addLayoutComponentin interfacejava.awt.LayoutManager2
removeLayoutComponent
public void removeLayoutComponent(java.awt.Component component)
- Not used in this class.
- Specified by:
removeLayoutComponentin interfacejava.awt.LayoutManager
getLayoutAlignmentX
public float getLayoutAlignmentX(java.awt.Container container)
- Always returns 0.5.
- Specified by:
getLayoutAlignmentXin interfacejava.awt.LayoutManager2
getLayoutAlignmentY
public float getLayoutAlignmentY(java.awt.Container container)
- Always returns 0.5.
- Specified by:
getLayoutAlignmentYin interfacejava.awt.LayoutManager2
preferredLayoutSize
public java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
- Description copied from interface:
java.awt.LayoutManager - Calculates the preferred size for this container, taking into account
the components it contains.
- Specified by:
preferredLayoutSizein interfacejava.awt.LayoutManager
minimumLayoutSize
public java.awt.Dimension minimumLayoutSize(java.awt.Container parent)
- Description copied from interface:
java.awt.LayoutManager - Calculates the minimum size for this container, taking into account
the components it contains.
- Specified by:
minimumLayoutSizein interfacejava.awt.LayoutManager
maximumLayoutSize
public java.awt.Dimension maximumLayoutSize(java.awt.Container parent)
- Description copied from interface:
java.awt.LayoutManager2 - Determines the maximum size of the specified target container.
- Specified by:
maximumLayoutSizein interfacejava.awt.LayoutManager2
layoutContainer
public void layoutContainer(java.awt.Container parent)
- Description copied from interface:
java.awt.LayoutManager - Lays out the components in the given container.
- Specified by:
layoutContainerin interfacejava.awt.LayoutManager
invalidateLayout
public void invalidateLayout(java.awt.Container container)
- Description copied from interface:
java.awt.LayoutManager2 - Forces the layout manager to purge any cached information about the
layout of the target container. This will force it to be recalculated.
- Specified by:
invalidateLayoutin interfacejava.awt.LayoutManager2
toString
public java.lang.String toString()
- Returns the string representation of this variable grid layout's values.
getLayoutSize
private java.awt.Dimension getLayoutSize(java.awt.Container parent, int which)
update
private void update(java.awt.Container container)
|
|||||||||
| Home >> All >> org >> gjt >> sp >> jedit >> [ gui overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.gjt.sp.jedit.gui.VariableGridLayout