Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.jgoodies.forms.layout
Class CellConstraints

    java.lang.Object
      com.jgoodies.forms.layout.CellConstraints

All Implemented Interfaces:
  Serializable, Cloneable

    public final class CellConstraints

extends Object
implements Cloneable, Serializable

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.

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.

Version:
  $Revision: 1.2 $
Author:
  Karsten Lentzsch
See Also:
  Serialized Form

Nested Class Summary
`static class` | `CellConstraints.Alignment` An ordinal-based serializable typesafe enumeration for component alignment types as used by the `FormLayout`.

Field Summary
`static CellConstraints.Alignment` | `BOTTOM` Put the component in the bottom.
`static CellConstraints.Alignment` | `CENTER` Put the component in the center.
`static CellConstraints.Alignment` | `DEFAULT` Use the column's or row's default alignment.
`static CellConstraints.Alignment` | `FILL` Fill the cell either horizontally or vertically.
`int` | `gridHeight` Describes the component's vertical grid extent (number of cells).
`int` | `gridWidth` Describes the component's horizontal grid extend (number of cells).
`int` | `gridX` Describes the component's horizontal grid origin (starts at 1).
`int` | `gridY` Describes the component's vertical grid origin (starts at 1).
`CellConstraints.Alignment` | `hAlign` Describes the component's horizontal alignment.
`Insets` | `insets` Describes the component's `Insets` in it's display area.
`static CellConstraints.Alignment` | `LEFT` Put the component in the left.
`static CellConstraints.Alignment` | `RIGHT` Put the component in the right.
`static CellConstraints.Alignment` | `TOP` Put the component in the top.
`CellConstraints.Alignment` | `vAlign` Describes the component's vertical alignment.

Constructor Summary
`CellConstraints()` Constructs a default instance of `CellConstraints`.
`CellConstraints(int gridX, int gridY)` Constructs an instance of `CellConstraints` for the given cell position.
`CellConstraints(int gridX, int gridY, CellConstraints.Alignment hAlign, CellConstraints.Alignment vAlign)` Constructs an instance of `CellConstraints` for the given cell position, anchor, and fill.
`CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight)` Constructs an instance of `CellConstraints` for the given cell position and size.
`CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight, CellConstraints.Alignment hAlign, CellConstraints.Alignment vAlign)` Constructs an instance of `CellConstraints` for the given cell position and size, anchor, and fill.
`CellConstraints(int gridX, int gridY, int gridWidth, int gridHeight, CellConstraints.Alignment hAlign, CellConstraints.Alignment vAlign, Insets insets)` Constructs an instance of `CellConstraints` for the complete set of available properties.
`CellConstraints(String encodedConstraints)` Constructs an instance of `CellConstraints` from the given encoded string properties.

Method Summary
`Object` | `clone()` Creates a copy of this cell constraints object.
`String` | `toShortString()` Returns a short string representation of this constraints object.
`String` | `toShortString(FormLayout layout)` Returns a short string representation of this constraints object.
`String` | `toString()` Constructs and returns a string representation of this constraints object.
`CellConstraints` | `xy(int col, int row)` Sets row and column origins; sets width and height to 1; uses the default alignments.
`CellConstraints` | `xy(int col, int row, CellConstraints.Alignment colAlign, CellConstraints.Alignment rowAlign)` Sets the row and column origins; sets width and height to 1; set horizontal and vertical alignment using the specified objects.
`CellConstraints` | `xy(int col, int row, String encodedAlignments)` Sets row and column origins; sets width and height to 1; decodes horizontal and vertical alignments from the given string.
`CellConstraints` | `xyw(int col, int row, int colSpan)` Sets the row, column, width, and height; uses a height (row span) of 1 and the horizontal and vertical default alignments.
`CellConstraints` | `xyw(int col, int row, int colSpan, CellConstraints.Alignment colAlign, CellConstraints.Alignment rowAlign)` Sets the row, column, width, and height; sets the horizontal and vertical aligment using the specified alignment objects.
`CellConstraints` | `xyw(int col, int row, int colSpan, String encodedAlignments)` Sets the row, column, width, and height; decodes the horizontal and vertical alignments from the given string.
`CellConstraints` | `xywh(int col, int row, int colSpan, int rowSpan)` Sets the row, column, width, and height; uses default alignments.
`CellConstraints` | `xywh(int col, int row, int colSpan, int rowSpan, CellConstraints.Alignment colAlign, CellConstraints.Alignment rowAlign)` Sets the row, column, width, and height; sets the horizontal and vertical aligment using the specified alignment objects.
`CellConstraints` | `xywh(int col, int row, int colSpan, int rowSpan, String encodedAlignments)` Sets the row, column, width, and height; decodes the horizontal and vertical alignments from the given string.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### DEFAULT

    public static final CellConstraints.Alignment DEFAULT

  Use the column's or row's default alignment.

### FILL

    public static final CellConstraints.Alignment FILL

  Fill the cell either horizontally or vertically.

### LEFT

    public static final CellConstraints.Alignment LEFT

  Put the component in the left.

### RIGHT

    public static final CellConstraints.Alignment RIGHT

  Put the component in the right.

### CENTER

    public static final CellConstraints.Alignment CENTER

  Put the component in the center.

### TOP

    public static final CellConstraints.Alignment TOP

  Put the component in the top.

### BOTTOM

    public static final CellConstraints.Alignment BOTTOM

  Put the component in the bottom.

### gridX

    public int gridX

  Describes the component's horizontal grid origin (starts at 1).

### gridY

    public int gridY

  Describes the component's vertical grid origin (starts at 1).

### gridWidth

    public int gridWidth

  Describes the component's horizontal grid extend (number of cells).

### gridHeight

    public int gridHeight

  Describes the component's vertical grid extent (number of cells).

### hAlign

    public CellConstraints.Alignment hAlign

  Describes the component's horizontal alignment.

### vAlign

    public CellConstraints.Alignment vAlign

  Describes the component's vertical alignment.

### insets

    public Insets insets

  Describes the component's `Insets` in it's display area.

Constructor Detail

### CellConstraints

    public CellConstraints()

  Constructs a default instance of `CellConstraints`.

### CellConstraints

    public CellConstraints(int gridX,
                           int gridY)

  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
    `gridY` - the component's vertical grid origin

### CellConstraints

    public CellConstraints(int gridX,
                           int gridY,
                           CellConstraints.Alignment hAlign,
                           CellConstraints.Alignment vAlign)

  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
    `gridY` - the component's vertical grid origin
    `hAlign` - the component's horizontal alignment
    `vAlign` - the component's vertical alignment

### CellConstraints

    public CellConstraints(int gridX,
                           int gridY,
                           int gridWidth,
                           int gridHeight)

  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
    `gridY` - the component's vertical grid origin
    `gridWidth` - the component's horizontal extent
    `gridHeight` - the component's vertical extent

### CellConstraints

    public CellConstraints(int gridX,
                           int gridY,
                           int gridWidth,
                           int gridHeight,
                           CellConstraints.Alignment hAlign,
                           CellConstraints.Alignment vAlign)

  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
    `gridY` - the component's vertical grid origin
    `gridWidth` - the component's horizontal extent
    `gridHeight` - the component's vertical extent
    `hAlign` - the component's horizontal alignment
    `vAlign` - the component's vertical alignment

### CellConstraints

    public CellConstraints(int gridX,
                           int gridY,
                           int gridWidth,
                           int gridHeight,
                           CellConstraints.Alignment hAlign,
                           CellConstraints.Alignment vAlign,
                           Insets insets)

  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
    `gridY` - the component's vertical grid origin
    `gridWidth` - the component's horizontal extent
    `gridHeight` - the component's vertical extent
    `hAlign` - the component's horizontal alignment
    `vAlign` - the component's vertical alignment
    `insets` - the component's display area `Insets`
  Throws:
    `IndexOutOfBoundsException` - if the grid origin or extent is negative
    `NullPointerException` - if the horizontal or vertical alignment is null
    `IllegalArgumentException` - if an alignment orientation is invalid

### CellConstraints

    public CellConstraints(String encodedConstraints)

  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

Method Detail

### xy

    public CellConstraints xy(int col,
                              int row)

  Sets row and column 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
    `row` - the new row index
  Returns:
    this

### xy

    public CellConstraints xy(int col,
                              int row,
                              String encodedAlignments)

  Sets row and column 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
    `row` - the new row index
    `encodedAlignments` - describes the horizontal and vertical alignments
  Returns:
    this
  Throws:
    `IllegalArgumentException` - if an alignment orientation is invalid

### xy

    public CellConstraints xy(int col,
                              int row,
                              CellConstraints.Alignment colAlign,
                              CellConstraints.Alignment rowAlign)

  Sets the row and column 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
    `row` - the new row index
    `colAlign` - horizontal component alignment
    `rowAlign` - vertical component alignment
  Returns:
    this

### xyw

    public CellConstraints xyw(int col,
                               int row,
                               int colSpan)

  Sets the row, column, 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
    `row` - the new row index
    `colSpan` - the column span or grid width
  Returns:
    this

### xyw

    public CellConstraints xyw(int col,
                               int row,
                               int colSpan,
                               String encodedAlignments)

  Sets the row, column, 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
    `row` - the new row index
    `colSpan` - the column span or grid width
    `encodedAlignments` - describes the horizontal and vertical alignments
  Returns:
    this
  Throws:
    `IllegalArgumentException` - if an alignment orientation is invalid

### xyw

    public CellConstraints xyw(int col,
                               int row,
                               int colSpan,
                               CellConstraints.Alignment colAlign,
                               CellConstraints.Alignment rowAlign)

  Sets the row, column, 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
    `row` - the new row index
    `colSpan` - the column span or grid width
    `colAlign` - horizontal component alignment
    `rowAlign` - vertical component alignment
  Returns:
    this
  Throws:
    `IllegalArgumentException` - if an alignment orientation is invalid

### xywh

    public CellConstraints xywh(int col,
                                int row,
                                int colSpan,
                                int rowSpan)

  Sets the row, column, 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
    `row` - the new row index
    `colSpan` - the column span or grid width
    `rowSpan` - the row span or grid height
  Returns:
    this

### xywh

    public CellConstraints xywh(int col,
                                int row,
                                int colSpan,
                                int rowSpan,
                                String encodedAlignments)

  Sets the row, column, 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
    `row` - the new row index
    `colSpan` - the column span or grid width
    `rowSpan` - the row span or grid height
    `encodedAlignments` - describes the horizontal and vertical alignments
  Returns:
    this
  Throws:
    `IllegalArgumentException` - if an alignment orientation is invalid

### xywh

    public CellConstraints xywh(int col,
                                int row,
                                int colSpan,
                                int rowSpan,
                                CellConstraints.Alignment colAlign,
                                CellConstraints.Alignment rowAlign)

  Sets the row, column, 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
    `row` - the new row index
    `colSpan` - the column span or grid width
    `rowSpan` - the row span or grid height
    `colAlign` - horizontal component alignment
    `rowAlign` - vertical component alignment
  Returns:
    this
  Throws:
    `IllegalArgumentException` - if an alignment orientation is invalid

### clone

    public Object clone()

  Creates a copy of this cell constraints object.

  Overrides:
    `clone` in class `Object`
  Returns:
    a copy of this cell constraints object

### toString

    public String toString()

  Constructs and returns a string representation of this constraints object.

  Overrides:
    `toString` in class `Object`
  Returns:
    string representation of this constraints object

### toShortString

    public String toShortString()

  Returns a short string representation of this constraints object.

  Returns:
    a short string representation of this constraints object

### toShortString

    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. Therefore it asks the related column and row as specified by this constraints object.

  Parameters:
    `layout` - the layout to be presented as a string
  Returns:
    a short string representation of this constraints object

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2006 JGoodies Karsten Lentzsch. All Rights Reserved.