Package com.privatejgoodies.forms.layout

# Class ColumnSpec

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

All Implemented Interfaces:
  `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
Modifier and Type
Field
Description
`static final FormSpec.DefaultAlignment`
`CENTER`
By default put the components in the center.
`static final FormSpec.DefaultAlignment`
`DEFAULT`
Unless overridden the default alignment for a column is FILL.
`static final FormSpec.DefaultAlignment`
`FILL`
By default fill the component into the column.
`static final FormSpec.DefaultAlignment`
`LEFT`
By default put components in the left.
`static final 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
Constructor
Description
`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

Modifier and Type
Method
Description
`static ColumnSpec`
`createGap(ConstantSize gapWidth)`
Creates and returns a `ColumnSpec` that represents a gap with the specified `ConstantSize`.
`static ColumnSpec`
`decode(String encodedColumnSpec)`
Parses the encoded column specification and returns a ColumnSpec object that represents the string.
`static ColumnSpec`
`decode(String encodedColumnSpec, LayoutMap layoutMap)`
Parses the encoded column specifications and returns a ColumnSpec object that represents the string.
`static ColumnSpec[]`
`decodeSpecs(String encodedColumnSpecs)`
Parses and splits encoded column specifications using the default `LayoutMap` and returns an array of ColumnSpec objects.
`static ColumnSpec[]`
`decodeSpecs(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 Details

### 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 Details

### 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:
  `NullPointerException` - if the `size` is `null`
  `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:
  `IllegalArgumentException` - if the size is invalid

## Method Details

### 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:
  `NullPointerException` - if `gapWidth` is `null`
Since:
  1.2

### decode

public static ColumnSpec decode(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:
  `NullPointerException` - if `encodedColumnSpec` is `null`
Since:
  1.2
See Also:
  - `decode(String, LayoutMap)`
  - `LayoutMap.getRoot()`

### decode

public static ColumnSpec decode(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:
  `NullPointerException` - if `encodedColumnSpec` or `layoutMap` is `null`
  `IllegalArgumentException` - if `encodedColumnSpec` is empty or whitespace
Since:
  1.2
See Also:
  - `decodeSpecs(String, LayoutMap)`

### decodeSpecs

public static ColumnSpec[] decodeSpecs(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:
  `NullPointerException` - if `encodedColumnSpecs` is `null`
See Also:
  - `decodeSpecs(String, LayoutMap)`
  - `decode(String)`
  - `LayoutMap.getRoot()`

### decodeSpecs

public static ColumnSpec[] decodeSpecs(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:
  `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)