| java.lang.Object com.jgoodies.forms.layout.CellConstraints
CellConstraints | final public class CellConstraints implements Cloneable,Serializable(Code) | | Defines constraints for components that are layed out with the FormLayout.
Defines the components display area: grid x, grid y,
grid width (column span), grid height (row span), horizontal alignment
and vertical alignment.
Most methods return this object to enable method chaining.
You can set optional insets in a constructor. This is useful if you
need to use a pixel-size insets to align perceived component bounds
with pixel data, for example an icon. Anyway, this is rarely used.
The insets don't affect the size computation for columns and rows.
I consider renaming the insets to offsets to better indicate the
motivation for this option.
Examples:
The following cell constraints locate a component in the third
column of the fifth row; column and row span are 1; the component
will be aligned with the column's right-hand side and the row's
bottom.
CellConstraints cc = new CellConstraints();
cc.xy (3, 5);
cc.xy (3, 5, CellConstraints.RIGHT, CellConstraints.BOTTOM);
cc.xy (3, 5, "right, bottom");
cc.xyw (3, 5, 1);
cc.xyw (3, 5, 1, CellConstraints.RIGHT, CellConstraints.BOTTOM);
cc.xyw (3, 5, 1, "right, bottom");
cc.xywh(3, 5, 1, 1);
cc.xywh(3, 5, 1, 1, CellConstraints.RIGHT, CellConstraints.BOTTOM);
cc.xywh(3, 5, 1, 1, "right, bottom");
See also the examples in the
FormLayout class comment.
Note: The new method sets #rc ,
#rcw , and #rchw are experimental and
maybe removed from the 1.1 final.
TODO: Remove the above comment in the 1.1 final.
TODO: Explain in the JavaDocs that the insets are actually offsets.
And describe that these offsets are not taken into account when
FormLayout computes the column and row sizes.
TODO: Rename the inset to offsets.
TODO: In the Forms 1.0.x invisible components are not taken into account
when the FormLayout lays out the container. Add an optional setting for
this on both the container-level and component-level. So one can specify
that invisible components shall be taken into account, but may exclude
individual components. Or the other way round, exclude invisible components,
and include individual components. The API of both the FormLayout and
CellConstraints classes shall be extended to support this option.
This feature is planned for the Forms version 1.1 and is described in
issue #28
of the Forms' issue tracker where you can track the progress.
author: Karsten Lentzsch version: $Revision: 1.4 $ |
Inner Class :final public static class Alignment implements Serializable | |
Field Summary | |
final public static Alignment | BOTTOM Put the component in the bottom. | final public static Alignment | CENTER Put the component in the center. | final public static Alignment | DEFAULT Use the column's or row's default alignment. | final public static Alignment | FILL Fill the cell either horizontally or vertically. | final public static Alignment | LEFT Put the component in the left. | final public static Alignment | RIGHT Put the component in the right. | final public static Alignment | TOP Put the component in the top. | public int | gridHeight Describes the component's vertical grid extent (number of cells). | public int | gridWidth Describes the component's horizontal grid extend (number of cells). | public int | gridX Describes the component's horizontal grid origin (starts at 1). | public int | gridY Describes the component's vertical grid origin (starts at 1). | public Alignment | hAlign Describes the component's horizontal alignment. | public Insets | insets Describes the component's Insets in it's display area. | public Alignment | vAlign Describes the component's vertical alignment. |
Constructor Summary | |
public | CellConstraints() Constructs a default instance of CellConstraints . | public | CellConstraints(int gridX, int gridY) | public | CellConstraints(int gridX, int gridY, Alignment hAlign, Alignment vAlign) | public | CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight) | public | CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight, Alignment hAlign, Alignment vAlign) | public | CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight, Alignment hAlign, Alignment vAlign, Insets insets) | public | CellConstraints(String encodedConstraints) |
Method Summary | |
public Object | clone() Creates a copy of this cell constraints object. | void | ensureValidGridBounds(int colCount, int rowCount) Checks and verifies that this constraints object has valid grid
index values, i. | public CellConstraints | rc(int row, int col) | public CellConstraints | rc(int row, int col, String encodedAlignments) | public CellConstraints | rc(int row, int col, Alignment rowAlign, Alignment colAlign) | public CellConstraints | rchw(int row, int col, int rowSpan, int colSpan) | public CellConstraints | rchw(int row, int col, int rowSpan, int colSpan, String encodedAlignments) | public CellConstraints | rchw(int row, int col, int rowSpan, int colSpan, Alignment rowAlign, Alignment colAlign) | public CellConstraints | rcw(int row, int col, int colSpan) | public CellConstraints | rcw(int row, int col, int colSpan, String encodedAlignments) Sets the row, column, height, and width;
decodes the vertical and horizontal alignments from the given string. | public CellConstraints | rcw(int row, int col, int colSpan, Alignment rowAlign, Alignment colAlign) Sets the row, column, height, and width; sets the vertical
and horizontalaligment using the specified alignment objects. | void | setBounds(Component c, FormLayout layout, Rectangle cellBounds, FormLayout.Measure minWidthMeasure, FormLayout.Measure minHeightMeasure, FormLayout.Measure prefWidthMeasure, FormLayout.Measure prefHeightMeasure) Sets the component's bounds using the given component and cell bounds. | public String | toShortString() Returns a short string representation of this constraints object. | public String | toShortString(FormLayout layout) Returns a short string representation of this constraints object.
This method can use the given FormLayout
to display extra information how default alignments
are mapped to concrete alignments. | public String | toString() Constructs and returns a string representation of this constraints object. | public CellConstraints | xy(int col, int row) | public CellConstraints | xy(int col, int row, String encodedAlignments) | public CellConstraints | xy(int col, int row, Alignment colAlign, Alignment rowAlign) | public CellConstraints | xyw(int col, int row, int colSpan) | public CellConstraints | xyw(int col, int row, int colSpan, String encodedAlignments) Sets the column, row, width, and height;
decodes the horizontal and vertical alignments from the given string. | public CellConstraints | xyw(int col, int row, int colSpan, Alignment colAlign, Alignment rowAlign) Sets the column, row, width, and height; sets the horizontal
and vertical aligment using the specified alignment objects. | public CellConstraints | xywh(int col, int row, int colSpan, int rowSpan) | public CellConstraints | xywh(int col, int row, int colSpan, int rowSpan, String encodedAlignments) | public CellConstraints | xywh(int col, int row, int colSpan, int rowSpan, Alignment colAlign, Alignment rowAlign) |
BOTTOM | final public static Alignment BOTTOM(Code) | | Put the component in the bottom.
|
CENTER | final public static Alignment CENTER(Code) | | Put the component in the center.
|
DEFAULT | final public static Alignment DEFAULT(Code) | | Use the column's or row's default alignment.
|
FILL | final public static Alignment FILL(Code) | | Fill the cell either horizontally or vertically.
|
LEFT | final public static Alignment LEFT(Code) | | Put the component in the left.
|
RIGHT | final public static Alignment RIGHT(Code) | | Put the component in the right.
|
TOP | final public static Alignment TOP(Code) | | Put the component in the top.
|
gridHeight | public int gridHeight(Code) | | Describes the component's vertical grid extent (number of cells).
|
gridWidth | public int gridWidth(Code) | | Describes the component's horizontal grid extend (number of cells).
|
gridX | public int gridX(Code) | | Describes the component's horizontal grid origin (starts at 1).
|
gridY | public int gridY(Code) | | Describes the component's vertical grid origin (starts at 1).
|
hAlign | public Alignment hAlign(Code) | | Describes the component's horizontal alignment.
|
insets | public Insets insets(Code) | | Describes the component's Insets in it's display area.
|
vAlign | public Alignment vAlign(Code) | | Describes the component's vertical alignment.
|
CellConstraints | public CellConstraints()(Code) | | Constructs a default instance of CellConstraints .
|
CellConstraints | public CellConstraints(int gridX, int gridY)(Code) | | Constructs an instance of CellConstraints for the given
cell position.
Examples:
new CellConstraints(1, 3);
new CellConstraints(1, 3);
Parameters: gridX - the component's horizontal grid origin Parameters: gridY - the component's vertical grid origin |
CellConstraints | public CellConstraints(int gridX, int gridY, Alignment hAlign, Alignment vAlign)(Code) | | Constructs an instance of CellConstraints for the given
cell position, anchor, and fill.
Examples:
new CellConstraints(1, 3, CellConstraints.LEFT, CellConstraints.BOTTOM);
new CellConstraints(1, 3, CellConstraints.CENTER, CellConstraints.FILL);
Parameters: gridX - the component's horizontal grid origin Parameters: gridY - the component's vertical grid origin Parameters: hAlign - the component's horizontal alignment Parameters: vAlign - the component's vertical alignment |
CellConstraints | public CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight)(Code) | | Constructs an instance of CellConstraints for the given
cell position and size.
Examples:
new CellConstraints(1, 3, 2, 1);
new CellConstraints(1, 3, 7, 3);
Parameters: gridX - the component's horizontal grid origin Parameters: gridY - the component's vertical grid origin Parameters: gridWidth - the component's horizontal extent Parameters: gridHeight - the component's vertical extent |
CellConstraints | public CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight, Alignment hAlign, Alignment vAlign)(Code) | | Constructs an instance of CellConstraints for the given
cell position and size, anchor, and fill.
Examples:
new CellConstraints(1, 3, 2, 1, CellConstraints.LEFT, CellConstraints.BOTTOM);
new CellConstraints(1, 3, 7, 3, CellConstraints.CENTER, CellConstraints.FILL);
Parameters: gridX - the component's horizontal grid origin Parameters: gridY - the component's vertical grid origin Parameters: gridWidth - the component's horizontal extent Parameters: gridHeight - the component's vertical extent Parameters: hAlign - the component's horizontal alignment Parameters: vAlign - the component's vertical alignment |
CellConstraints | public CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight, Alignment hAlign, Alignment vAlign, Insets insets)(Code) | | Constructs an instance of CellConstraints for
the complete set of available properties.
Examples:
new CellConstraints(1, 3, 2, 1, CellConstraints.LEFT, CellConstraints.BOTTOM, new Insets(0, 1, 0, 3));
new CellConstraints(1, 3, 7, 3, CellConstraints.CENTER, CellConstraints.FILL, new Insets(0, 1, 0, 0));
Parameters: gridX - the component's horizontal grid origin Parameters: gridY - the component's vertical grid origin Parameters: gridWidth - the component's horizontal extent Parameters: gridHeight - the component's vertical extent Parameters: hAlign - the component's horizontal alignment Parameters: vAlign - the component's vertical alignment Parameters: insets - the component's display area Insets throws: IndexOutOfBoundsException - if the grid origin or extent is negative throws: NullPointerException - if the horizontal or vertical alignment is null throws: IllegalArgumentException - if an alignment orientation is invalid |
CellConstraints | public CellConstraints(String encodedConstraints)(Code) | | Constructs an instance of CellConstraints from
the given encoded string properties.
Examples:
new CellConstraints("1, 3");
new CellConstraints("1, 3, left, bottom");
new CellConstraints("1, 3, 2, 1, left, bottom");
new CellConstraints("1, 3, 2, 1, l, b");
Parameters: encodedConstraints - the constraints encoded as string |
clone | public Object clone()(Code) | | Creates a copy of this cell constraints object.
a copy of this cell constraints object |
ensureValidGridBounds | void ensureValidGridBounds(int colCount, int rowCount)(Code) | | Checks and verifies that this constraints object has valid grid
index values, i. e. the display area cells are inside the form's grid.
Parameters: colCount - number of columns in the grid Parameters: rowCount - number of rows in the grid throws: IndexOutOfBoundsException - if the display area describedby this constraints object is not inside the grid |
rc | public CellConstraints rc(int row, int col)(Code) | | Sets row and column origins; sets height and width to 1;
uses the default alignments.
Examples:
cc.rc(1, 1);
cc.rc(3, 1);
Parameters: row - the new row index Parameters: col - the new column index this since: 1.1 |
rc | public CellConstraints rc(int row, int col, String encodedAlignments)(Code) | | Sets row and column origins; sets height and width to 1;
decodes vertical and horizontal alignments from the given string.
Examples:
cc.rc(3, 1, "bottom, left");
cc.rc(3, 1, "b, l");
cc.rc(3, 1, "fill, center");
cc.rc(3, 1, "f, c");
Parameters: row - the new row index Parameters: col - the new column index Parameters: encodedAlignments - describes the vertical and horizontal alignments this throws: IllegalArgumentException - if an alignment orientation is invalid since: 1.1 |
rc | public CellConstraints rc(int row, int col, Alignment rowAlign, Alignment colAlign)(Code) | | Sets the row and column origins; sets width and height to 1;
set horizontal and vertical alignment using the specified objects.
Examples:
cc.rc(3, 1, CellConstraints.BOTTOM, CellConstraints.LEFT);
cc.rc(3, 1, CellConstraints.FILL, CellConstraints.CENTER);
Parameters: row - the new row index Parameters: col - the new column index Parameters: rowAlign - vertical component alignment Parameters: colAlign - horizontal component alignment this since: 1.1 |
rchw | public CellConstraints rchw(int row, int col, int rowSpan, int colSpan)(Code) | | Sets the row, column, height, and width; uses default alignments.
Examples:
cc.rchw(1, 3, 2, 1);
cc.rchw(1, 3, 7, 3);
Parameters: row - the new row index Parameters: col - the new column index Parameters: rowSpan - the row span or grid height Parameters: colSpan - the column span or grid width this since: 1.1 |
rchw | public CellConstraints rchw(int row, int col, int rowSpan, int colSpan, String encodedAlignments)(Code) | | Sets the row, column, height, and width;
decodes the vertical and horizontal alignments from the given string.
Examples:
cc.rchw(3, 1, 1, 2, "bottom, left");
cc.rchw(3, 1, 1, 2, "b, l");
cc.rchw(3, 1, 3, 7, "fill, center");
cc.rchw(3, 1, 3, 7, "f, c");
Parameters: row - the new row index Parameters: col - the new column index Parameters: rowSpan - the row span or grid height Parameters: colSpan - the column span or grid width Parameters: encodedAlignments - describes the vertical and horizontal alignments this throws: IllegalArgumentException - if an alignment orientation is invalid since: 1.1 |
rchw | public CellConstraints rchw(int row, int col, int rowSpan, int colSpan, Alignment rowAlign, Alignment colAlign)(Code) | | Sets the row, column, height, and width; sets the vertical and
horizontal aligment using the specified alignment objects.
Examples:
cc.rchw(3, 1, 1, 2, CellConstraints.BOTTOM, CellConstraints.LEFT);
cc.rchw(3, 1, 3, 7, CellConstraints.FILL, CellConstraints.CENTER);
Parameters: row - the new row index Parameters: col - the new column index Parameters: rowSpan - the row span or grid height Parameters: colSpan - the column span or grid width Parameters: rowAlign - vertical component alignment Parameters: colAlign - horizontal component alignment this throws: IllegalArgumentException - if an alignment orientation is invalid since: 1.1 |
rcw | public CellConstraints rcw(int row, int col, int colSpan)(Code) | | Sets the row, column, height, and width; uses a height (row span) of 1
and the vertical and horizontal default alignments.
Examples:
cc.rcw(3, 1, 7);
cc.rcw(3, 1, 2);
Parameters: row - the new row index Parameters: col - the new column index Parameters: colSpan - the column span or grid width this since: 1.1 |
rcw | public CellConstraints rcw(int row, int col, int colSpan, String encodedAlignments)(Code) | | Sets the row, column, height, and width;
decodes the vertical and horizontal alignments from the given string.
The row span (height) is set to 1.
Examples:
cc.rcw(3, 1, 7, "bottom, left");
cc.rcw(3, 1, 7, "b, l");
cc.rcw(3, 1, 2, "fill, center");
cc.rcw(3, 1, 2, "f, c");
Parameters: row - the new row index Parameters: col - the new column index Parameters: colSpan - the column span or grid width Parameters: encodedAlignments - describes the vertical and horizontal alignments this throws: IllegalArgumentException - if an alignment orientation is invalid since: 1.1 |
rcw | public CellConstraints rcw(int row, int col, int colSpan, Alignment rowAlign, Alignment colAlign)(Code) | | Sets the row, column, height, and width; sets the vertical
and horizontalaligment using the specified alignment objects.
The row span (height) is set to 1.
Examples:
cc.rcw(3, 1, 2, CellConstraints.BOTTOM, CellConstraints.LEFT);
cc.rcw(3, 1, 7, CellConstraints.FILL, CellConstraints.CENTER);
Parameters: row - the new row index Parameters: col - the new column index Parameters: colSpan - the column span or grid width Parameters: rowAlign - vertical component alignment Parameters: colAlign - horizontal component alignment this throws: IllegalArgumentException - if an alignment orientation is invalid since: 1.1 |
setBounds | void setBounds(Component c, FormLayout layout, Rectangle cellBounds, FormLayout.Measure minWidthMeasure, FormLayout.Measure minHeightMeasure, FormLayout.Measure prefWidthMeasure, FormLayout.Measure prefHeightMeasure)(Code) | | Sets the component's bounds using the given component and cell bounds.
Parameters: c - the component to set bounds Parameters: layout - the FormLayout instance that computes the bounds Parameters: cellBounds - the cell's bounds Parameters: minWidthMeasure - measures the minimum width Parameters: minHeightMeasure - measures the minimum height Parameters: prefWidthMeasure - measures the preferred width Parameters: prefHeightMeasure - measures the preferred height |
toShortString | public String toShortString()(Code) | | Returns a short string representation of this constraints object.
a short string representation of this constraints object |
toShortString | public String toShortString(FormLayout layout)(Code) | | Returns a short string representation of this constraints object.
This method can use the given FormLayout
to display extra information how default alignments
are mapped to concrete alignments. Therefore it asks the
related column and row as specified by this constraints object.
Parameters: layout - the layout to be presented as a string a short string representation of this constraints object |
toString | public String toString()(Code) | | Constructs and returns a string representation of this constraints object.
string representation of this constraints object |
xy | public CellConstraints xy(int col, int row)(Code) | | Sets column and row origins; sets width and height to 1;
uses the default alignments.
Examples:
cc.xy(1, 1);
cc.xy(1, 3);
Parameters: col - the new column index Parameters: row - the new row index this |
xy | public CellConstraints xy(int col, int row, String encodedAlignments)(Code) | | Sets column and row origins; sets width and height to 1;
decodes horizontal and vertical alignments from the given string.
Examples:
cc.xy(1, 3, "left, bottom");
cc.xy(1, 3, "l, b");
cc.xy(1, 3, "center, fill");
cc.xy(1, 3, "c, f");
Parameters: col - the new column index Parameters: row - the new row index Parameters: encodedAlignments - describes the horizontal and vertical alignments this throws: IllegalArgumentException - if an alignment orientation is invalid |
xy | public CellConstraints xy(int col, int row, Alignment colAlign, Alignment rowAlign)(Code) | | Sets the column and row origins; sets width and height to 1;
set horizontal and vertical alignment using the specified objects.
Examples:
cc.xy(1, 3, CellConstraints.LEFT, CellConstraints.BOTTOM);
cc.xy(1, 3, CellConstraints.CENTER, CellConstraints.FILL);
Parameters: col - the new column index Parameters: row - the new row index Parameters: colAlign - horizontal component alignment Parameters: rowAlign - vertical component alignment this |
xyw | public CellConstraints xyw(int col, int row, int colSpan)(Code) | | Sets the column, row, width, and height; uses a height (row span) of 1
and the horizontal and vertical default alignments.
Examples:
cc.xyw(1, 3, 7);
cc.xyw(1, 3, 2);
Parameters: col - the new column index Parameters: row - the new row index Parameters: colSpan - the column span or grid width this |
xyw | public CellConstraints xyw(int col, int row, int colSpan, String encodedAlignments)(Code) | | Sets the column, row, width, and height;
decodes the horizontal and vertical alignments from the given string.
The row span (height) is set to 1.
Examples:
cc.xyw(1, 3, 7, "left, bottom");
cc.xyw(1, 3, 7, "l, b");
cc.xyw(1, 3, 2, "center, fill");
cc.xyw(1, 3, 2, "c, f");
Parameters: col - the new column index Parameters: row - the new row index Parameters: colSpan - the column span or grid width Parameters: encodedAlignments - describes the horizontal and vertical alignments this throws: IllegalArgumentException - if an alignment orientation is invalid |
xyw | public CellConstraints xyw(int col, int row, int colSpan, Alignment colAlign, Alignment rowAlign)(Code) | | Sets the column, row, width, and height; sets the horizontal
and vertical aligment using the specified alignment objects.
The row span (height) is set to 1.
Examples:
cc.xyw(1, 3, 2, CellConstraints.LEFT, CellConstraints.BOTTOM);
cc.xyw(1, 3, 7, CellConstraints.CENTER, CellConstraints.FILL);
Parameters: col - the new column index Parameters: row - the new row index Parameters: colSpan - the column span or grid width Parameters: colAlign - horizontal component alignment Parameters: rowAlign - vertical component alignment this throws: IllegalArgumentException - if an alignment orientation is invalid |
xywh | public CellConstraints xywh(int col, int row, int colSpan, int rowSpan)(Code) | | Sets the column, row, width, and height; uses default alignments.
Examples:
cc.xywh(1, 3, 2, 1);
cc.xywh(1, 3, 7, 3);
Parameters: col - the new column index Parameters: row - the new row index Parameters: colSpan - the column span or grid width Parameters: rowSpan - the row span or grid height this |
xywh | public CellConstraints xywh(int col, int row, int colSpan, int rowSpan, String encodedAlignments)(Code) | | Sets the column, row, width, and height;
decodes the horizontal and vertical alignments from the given string.
Examples:
cc.xywh(1, 3, 2, 1, "left, bottom");
cc.xywh(1, 3, 2, 1, "l, b");
cc.xywh(1, 3, 7, 3, "center, fill");
cc.xywh(1, 3, 7, 3, "c, f");
Parameters: col - the new column index Parameters: row - the new row index Parameters: colSpan - the column span or grid width Parameters: rowSpan - the row span or grid height Parameters: encodedAlignments - describes the horizontal and vertical alignments this throws: IllegalArgumentException - if an alignment orientation is invalid |
xywh | public CellConstraints xywh(int col, int row, int colSpan, int rowSpan, Alignment colAlign, Alignment rowAlign)(Code) | | Sets the column, row, width, and height; sets the horizontal
and vertical aligment using the specified alignment objects.
Examples:
cc.xywh(1, 3, 2, 1, CellConstraints.LEFT, CellConstraints.BOTTOM);
cc.xywh(1, 3, 7, 3, CellConstraints.CENTER, CellConstraints.FILL);
Parameters: col - the new column index Parameters: row - the new row index Parameters: colSpan - the column span or grid width Parameters: rowSpan - the row span or grid height Parameters: colAlign - horizontal component alignment Parameters: rowAlign - vertical component alignment this throws: IllegalArgumentException - if an alignment orientation is invalid |
|
|