acm.gui
Class TableLayout

java.lang.Object
  extended by 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.
 
Method Summary
 int getColumnCount()
Returns the number of columns in the table.
 TableConstraints getConstraints(Component comp)
Returns a copy of the constraints requested for the specified component.
 int getDefaultFill()
Returns the default fill parameter for components in the table.
 int getHgap()
Returns the horizontal gap between components.
 int getHorizontalAlignment()
Returns the horizontal alignment for the table.
 int getRowCount()
Returns the number of rows in the table.
 int getVerticalAlignment()
Returns the vertical alignment for the table.
 int getVgap()
Returns the vertical gap between components.
 void setColumnCount(int columns)
Resets the number of columns in the table.
 void setConstraints(Component comp, GridBagConstraints constraints)
Sets the constraints for the component to a copy of the supplied constraints.
 void setConstraints(Component comp, String constraints)
Sets the constraints for the component to the constraints specified by the string.
 void setDefaultFill(int fill)
Sets the default fill parameter for components in the table.
 void setHgap(int pixels)
Sets the horizontal gap between components.
 void setHorizontalAlignment(int align)
Sets the horizontal alignment for the table.
 void setRowCount(int rows)
Resets the number of rows in the table.
 void setVerticalAlignment(int align)
Sets the vertical alignment for the table.
 void setVgap(int pixels)
Sets the vertical gap between components.
 

Field Detail

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
Constructor Detail

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
 

Method Detail

public int getColumnCount()

Returns the number of columns in the table.

 
Usage: int columns = layout.getColumnCount(); 
Returns: The number of columns
 


public TableConstraints getConstraints(Component comp)

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
 


public void setConstraints(Component comp, GridBagConstraints constraints)

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