acm.gui
Class TableLayout
java.lang.Object
acm.gui.TableLayout
public class TableLayout
- extends Object
- implements LayoutManager2, Serializable
This class implements a new LayoutManager
that arranges
components into a two-dimensional grid. The capabilities are analogous
to those provide by the GridBagLayout
class, although
TableLayout
is considerably easier to use.
The constructor for the TableLayout
class takes the number
of rows and columns. Thus, the constructor call
new TableLayout(3, 5)
creates a new TableLayout
manager with three rows in the
vertical dimension and five columns across the page. Components are added
to the grid starting at the upper left, filling each horizontal row and
then moving on to the next row down after the current one is filled.
The TableLayout
manager also supports more fine-grained
control over the formatting of tables by allowing you to specify
constraints in the following form:
constraint=
value
For example, if you want to specify that a component occupies two
columns in the grid, you would use the constraint
"gridwidth=2"
Strings used as constraint objects can set several constraints at
once by including multiple constraint/value pairs separated by spaces.
The TableLayout
class accepts all constraints supported
by GridBagLayout
. The most common constraints are shown
in the following table:
gridwidth= columns or gridheight= rows |
| Indicates that this table cell should span the indicated number of columns or rows. |
|
width= pixels or height= pixels |
| The width specification indicates that the width of this column should be the specified number of pixels. If different widths are specified for cells in the same column, the column width is defined to be the maximum. In the absence of any width specification, the column width is the largest of the preferred widths. The height specification is interpreted symmetrically for row heights. |
|
weightx= weight or weighty= weight |
| If the total size of the table is less than the size of its enclosure, TableLayout will ordinarily center the table in the available space. If any of the cells, however, are given nonzero weightx or weighty values, the extra space is distributed along that axis in proportion to the weights specified. As in the GridBagLayout model, the weights are floating-point values and may therefore contain a decimal point. |
|
fill= fill |
| Indicates how the component in this cell should be resized if its preferred size is smaller than the cell size. The legal values are NONE , HORIZONTAL , VERTICAL , and BOTH , indicating the axes along which stretching should occur. The default is BOTH . |
|
anchor= anchor |
| If a component is not being filled along a particular axis, the anchor specification indicates where the component should be placed in its cell. The default value is CENTER , but any of the standard compass directions (NORTH , SOUTH , EAST , WEST , NORTHEAST , NORTHWEST , SOUTHEAST , or SOUTHWEST ) may also be used. |
|
Field Summary |
int |
BOTH
Resize component in both directions |
int |
BOTTOM
Align table vertically at the bottom of its container |
int |
CENTER
Center table in the container |
int |
FILL
Expand table to fill its container |
int |
HORIZONTAL
Resize component in horizontal direction only |
int |
LEFT
Align table horizontally at the left of its container |
int |
NONE
Do not resize component |
int |
RIGHT
Align table horizontally at the right of its container |
int |
TOP
Align table vertically at the top of its container |
int |
VERTICAL
Resize component in vertical direction only |
Constructor Summary |
TableLayout()
Creates a new TableLayout object with no limits
on the number of rows and columns. |
TableLayout(int rows,
int columns)
Creates a new TableLayout object with the specified
number of rows and columns. |
TableLayout(int rows,
int columns,
int hgap,
int vgap)
Creates a new TableLayout object with the specified
row count, column count, alignment, horizontal gap, and vertical gap. |
public static final int BOTH
- Resize component in both directions
- See Also:
- Constant Field Values
public static final int BOTTOM
- Align table vertically at the bottom of its container
- See Also:
- Constant Field Values
public static final int CENTER
- Center table in the container
- See Also:
- Constant Field Values
public static final int FILL
- Expand table to fill its container
- See Also:
- Constant Field Values
public static final int HORIZONTAL
- Resize component in horizontal direction only
- See Also:
- Constant Field Values
public static final int LEFT
- Align table horizontally at the left of its container
- See Also:
- Constant Field Values
public static final int NONE
- Do not resize component
- See Also:
- Constant Field Values
public static final int RIGHT
- Align table horizontally at the right of its container
- See Also:
- Constant Field Values
public static final int TOP
- Align table vertically at the top of its container
- See Also:
- Constant Field Values
public static final int VERTICAL
- Resize component in vertical direction only
- See Also:
- Constant Field Values
public TableLayout()
- Creates a new
TableLayout
object with no limits
on the number of rows and columns.
-
Usage: | TableLayout layout = new TableLayout(); |
public TableLayout(int rows,
int columns)
- Creates a new
TableLayout
object with the specified
number of rows and columns.
-
Usage: | TableLayout layout = new TableLayout(rows, columns); |
Parameters: |
rows | The number of rows, or 0 for no limit
|
columns | The number of columns, or 0 for no limit
|
|
public TableLayout(int rows,
int columns,
int hgap,
int vgap)
- Creates a new
TableLayout
object with the specified
row count, column count, alignment, horizontal gap, and vertical gap.
-
Usage: | TableLayout layout = new TableLayout(rows, columns, hgap, vgap); |
Parameters: |
rows | The number of rows, or 0 for no limit
|
columns | The number of columns, or 0 for no limit
|
hgap | The horizontal gap between columns
|
vgap | The vertical gap between rows
|
|
public int getColumnCount()
- Returns the number of columns in the table.
-
Usage: | int columns = layout.getColumnCount(); |
Returns: | The number of columns
|
- Returns a copy of the constraints requested for the specified component. The
constraints value is always converted to a
TableConstraints
so that
clients can use this class in preference to GridBagConstraints
without needing a type cast.
-
Usage: | TableConstraints tc = layout.getConstraints(comp); |
Parameter: |
comp | The component whose constraints are requested
|
|
Returns: | A copy of the constraints object used to specify the layout
|
public int getDefaultFill()
- Returns the default fill parameter for components in the table.
-
Usage: | int fill = layout.getDefaultFill(); |
Returns: | The default fill parameter for components in the table
|
public int getHgap()
- Returns the horizontal gap between components.
-
Usage: | int hgap = layout.getHgap(); |
Returns: | The horizontal gap between components
|
public int getHorizontalAlignment()
- Returns the horizontal alignment for the table.
-
Usage: | int align = layout.getHorizontalAlignment(); |
Returns: | The horizontal alignment for the table
|
public int getRowCount()
- Returns the number of rows in the table.
-
Usage: | int rows = layout.getRowCount(); |
Returns: | The number of rows
|
public int getVerticalAlignment()
- Returns the vertical alignment for the table.
-
Usage: | int align = layout.getVerticalAlignment(); |
Returns: | The vertical alignment for the table
|
public int getVgap()
- Returns the vertical gap between components.
-
Usage: | int vgap = layout.getVgap(); |
Returns: | The vertical gap between components
|
public void setColumnCount(int columns)
- Resets the number of columns in the table.
-
Usage: | layout.setColumnCount(columns); |
Parameter: |
columns | The new number of columns
|
|
- Sets the constraints for the component to a copy of the supplied
constraints.
-
Usage: | layout.setConstraints(comp, constraints); |
Parameters: |
comp | The component to be constrained
|
constraints | The constraints object used to specify the layout
|
|
public void setConstraints(Component comp,
String constraints)
- Sets the constraints for the component to the constraints
specified by the string.
-
Usage: | layout.setConstraints(comp, constraints); |
Parameters: |
comp | The component to be constrained
|
constraints | A string specifying the constraints
|
|
public void setDefaultFill(int fill)
- Sets the default fill parameter for components in the table. The legal values
are
NONE
, HORIZONTAL
, VERTICAL
, and
BOTH
.
-
Usage: | layout.setDefaultFill(fill); |
Parameter: |
fill | The default fill parameter for components in the table
|
|
public void setHgap(int pixels)
- Sets the horizontal gap between components.
-
Usage: | layout.setHgap(pixels); |
Parameter: |
pixels | The gap between components in pixels
|
|
public void setHorizontalAlignment(int align)
- Sets the horizontal alignment for the table. The legal values
are
CENTER
, LEFT
, RIGHT
, and
FILL
.
-
Usage: | layout.setHorizontalAlignment(align); |
Parameter: |
align | The horizontal alignment for the table
|
|
public void setRowCount(int rows)
- Resets the number of rows in the table.
-
Usage: | layout.setRowCount(rows); |
Parameter: |
rows | The new number of rows
|
|
public void setVerticalAlignment(int align)
- Sets the vertical alignment for the table. The legal values
are
CENTER
, TOP
, BOTTOM
, and
FILL
.
-
Usage: | layout.setVerticalAlignment(align); |
Parameter: |
align | The vertical alignment for the table
|
|
public void setVgap(int pixels)
- Sets the vertical gap between components.
-
Usage: | layout.setVgap(pixels); |
Parameter: |
pixels | The gap between components in pixels
|
|