Package com.privatejgoodies.forms.layout

## Class ColumnSpec

- java.lang.Object
- - com.privatejgoodies.forms.layout.FormSpec
  - - com.privatejgoodies.forms.layout.ColumnSpec

All Implemented Interfaces:
  `java.io.Serializable`

    public final class ColumnSpec
    extends FormSpec

Specifies columns in FormLayout by their default orientation, start size and resizing behavior.

Examples:
The following examples specify a column with FILL alignment, a size of 10 dlu that won't grow.

     new ColumnSpec(Sizes.dluX(10));
     new ColumnSpec(ColumnSpec.FILL, Sizes.dluX(10), 0.0);
     new ColumnSpec(ColumnSpec.FILL, Sizes.dluX(10), ColumnSpec.NO_GROW);
     ColumnSpec.parse("10dlu");
     ColumnSpec.parse("10dlu:0");
     ColumnSpec.parse("fill:10dlu:0");

The `FormSpecs` provides predefined frequently used ColumnSpec instances.

Version:
  $Revision: 1.20 $
Author:
  Karsten Lentzsch
See Also:
  `FormSpecs`, Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class com.privatejgoodies.forms.layout.FormSpec

`FormSpec.DefaultAlignment`

### Field Summary

Fields
`static FormSpec.DefaultAlignment` `CENTER` By default put the components in the center.
`static FormSpec.DefaultAlignment` `DEFAULT` Unless overridden the default alignment for a column is FILL.
`static FormSpec.DefaultAlignment` `FILL` By default fill the component into the column.
`static FormSpec.DefaultAlignment` `LEFT` By default put components in the left.
`static FormSpec.DefaultAlignment` `RIGHT` By default put components in the right.

### Fields inherited from class com.privatejgoodies.forms.layout.FormSpec

`DEFAULT_GROW, NO_GROW`

### Constructor Summary

Constructors
`ColumnSpec​(FormSpec.DefaultAlignment defaultAlignment, Size size, double resizeWeight)` Constructs a ColumnSpec for the given default alignment, size and resize weight.
`ColumnSpec​(Size size)` Constructs a ColumnSpec for the given size using the default alignment, and no resizing.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static ColumnSpec` `createGap​(ConstantSize gapWidth)` Creates and returns a `ColumnSpec` that represents a gap with the specified `ConstantSize`.
`static ColumnSpec` `decode​(java.lang.String encodedColumnSpec)` Parses the encoded column specification and returns a ColumnSpec object that represents the string.
`static ColumnSpec` `decode​(java.lang.String encodedColumnSpec, LayoutMap layoutMap)` Parses the encoded column specifications and returns a ColumnSpec object that represents the string.
`static ColumnSpec[]` `decodeSpecs​(java.lang.String encodedColumnSpecs)` Parses and splits encoded column specifications using the default `LayoutMap` and returns an array of ColumnSpec objects.
`static ColumnSpec[]` `decodeSpecs​(java.lang.String encodedColumnSpecs, LayoutMap layoutMap)` Splits and parses the encoded column specifications using the given `LayoutMap` and returns an array of ColumnSpec objects.
`protected boolean` `isHorizontal()` Returns if this is a horizontal specification (vs.

### Methods inherited from class com.privatejgoodies.forms.layout.FormSpec

`encode, getDefaultAlignment, getResizeWeight, getSize, toShortString, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### LEFT

    public static final FormSpec.DefaultAlignment LEFT

By default put components in the left.

#### CENTER

    public static final FormSpec.DefaultAlignment CENTER

By default put the components in the center.

#### RIGHT

    public static final FormSpec.DefaultAlignment RIGHT

By default put components in the right.

#### FILL

    public static final FormSpec.DefaultAlignment FILL

By default fill the component into the column.

#### DEFAULT

    public static final FormSpec.DefaultAlignment DEFAULT

Unless overridden the default alignment for a column is FILL.

### Constructor Detail

#### ColumnSpec

    public ColumnSpec​(FormSpec.DefaultAlignment defaultAlignment,
                      Size size,
                      double resizeWeight)

Constructs a ColumnSpec for the given default alignment, size and resize weight.

The resize weight must be a non-negative double; you can use `NO_GROW` as a convenience value for no resize.

Parameters:
  `defaultAlignment` - the column's default alignment
  `size` - constant, component size or bounded size
  `resizeWeight` - the column's non-negative resize weight
Throws:
  `java.lang.NullPointerException` - if the `size` is `null`
  `java.lang.IllegalArgumentException` - if the size is invalid or the `resizeWeight` is negative

#### ColumnSpec

    public ColumnSpec​(Size size)

Constructs a ColumnSpec for the given size using the default alignment, and no resizing.

Parameters:
  `size` - constant size, component size, or bounded size
Throws:
  `java.lang.IllegalArgumentException` - if the size is invalid

### Method Detail

#### createGap

    public static ColumnSpec createGap​(ConstantSize gapWidth)

Creates and returns a `ColumnSpec` that represents a gap with the specified `ConstantSize`.

Parameters:
  `gapWidth` - specifies the gap width
Returns:
  a ColumnSpec that describes a horizontal gap
Throws:
  `java.lang.NullPointerException` - if `gapWidth` is `null`
Since:
  1.2

#### decode

    public static ColumnSpec decode​(java.lang.String encodedColumnSpec)

Parses the encoded column specification and returns a ColumnSpec object that represents the string. Variables are expanded using the default LayoutMap.

Parameters:
  `encodedColumnSpec` - the encoded column specification
Returns:
  a ColumnSpec instance for the given specification
Throws:
  `java.lang.NullPointerException` - if `encodedColumnSpec` is `null`
Since:
  1.2
See Also:
  `decode(String, LayoutMap)`, `LayoutMap.getRoot()`

#### decode

    public static ColumnSpec decode​(java.lang.String encodedColumnSpec,
                                    LayoutMap layoutMap)

Parses the encoded column specifications and returns a ColumnSpec object that represents the string. Variables are expanded using the given LayoutMap.

Parameters:
  `encodedColumnSpec` - the encoded column specification
  `layoutMap` - expands layout column variables
Returns:
  a ColumnSpec instance for the given specification
Throws:
  `java.lang.NullPointerException` - if `encodedColumnSpec` or `layoutMap` is `null`
  `java.lang.IllegalArgumentException` - if `encodedColumnSpec` is empty or whitespace
Since:
  1.2
See Also:
  `decodeSpecs(String, LayoutMap)`

#### decodeSpecs

    public static ColumnSpec[] decodeSpecs​(java.lang.String encodedColumnSpecs)

Parses and splits encoded column specifications using the default `LayoutMap` and returns an array of ColumnSpec objects.

Parameters:
  `encodedColumnSpecs` - comma separated encoded column specifications
Returns:
  an array of decoded column specifications
Throws:
  `java.lang.NullPointerException` - if `encodedColumnSpecs` is `null`
See Also:
  `decodeSpecs(String, LayoutMap)`, `decode(String)`, `LayoutMap.getRoot()`

#### decodeSpecs

    public static ColumnSpec[] decodeSpecs​(java.lang.String encodedColumnSpecs,
                                           LayoutMap layoutMap)

Splits and parses the encoded column specifications using the given `LayoutMap` and returns an array of ColumnSpec objects.

Parameters:
  `encodedColumnSpecs` - comma separated encoded column specifications
  `layoutMap` - expands layout column variables
Returns:
  an array of decoded column specifications
Throws:
  `java.lang.NullPointerException` - if `encodedColumnSpecs` or `layoutMap` is `null`
Since:
  1.2
See Also:
  `decodeSpecs(String)`, `decode(String, LayoutMap)`

#### isHorizontal

    protected boolean isHorizontal()

Returns if this is a horizontal specification (vs. vertical). Used to distinct between horizontal and vertical dialog units, which have different conversion factors.

Returns:
  always `true` (for horizontal)