Package com.privatejgoodies.forms.layout

# Class RowSpec

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

All Implemented Interfaces:
  `Serializable`

public final class RowSpec extends FormSpec
Specifies rows in FormLayout by their default orientation, start size and resizing behavior.

Examples:
The following examples specify a centered row with a size of 14 dlu that won't grow.

     new RowSpec(Sizes.dluX(14));
     new RowSpec(RowSpec.CENTER, Sizes.dluX(14), 0.0);
     new RowSpec(rowSpec.CENTER, Sizes.dluX(14), RowSpec.NO_GROW);
     RowSpec.parse("14dlu");
     RowSpec.parse("14dlu:0");
     RowSpec.parse("center:14dlu:0");

The `FormSpecs` provides predefined frequently used RowSpec 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`
`BOTTOM`
By default put the components in the bottom.
`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 row is CENTER.
`static final FormSpec.DefaultAlignment`
`FILL`
By default fill the component into the row.
`static final FormSpec.DefaultAlignment`
`TOP`
By default put the components in the top.

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

`DEFAULT_GROW, NO_GROW`

## Constructor Summary

Constructors
Constructor
Description
`RowSpec(FormSpec.DefaultAlignment defaultAlignment, Size size, double resizeWeight)`
Constructs a RowSpec from the given default orientation, size, and resize weight.
`RowSpec(Size size)`
Constructs a RowSpec for the given size using the default alignment, and no resizing.

## Method Summary

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

### TOP

public static final FormSpec.DefaultAlignment TOP
By default put the components in the top.

### CENTER

public static final FormSpec.DefaultAlignment CENTER
By default put the components in the center.

### BOTTOM

public static final FormSpec.DefaultAlignment BOTTOM
By default put the components in the bottom.

### FILL

public static final FormSpec.DefaultAlignment FILL
By default fill the component into the row.

### DEFAULT

public static final FormSpec.DefaultAlignment DEFAULT
Unless overridden the default alignment for a row is CENTER.

## Constructor Details

### RowSpec

public RowSpec(FormSpec.DefaultAlignment defaultAlignment, Size size, double resizeWeight)
Constructs a RowSpec from the given default orientation, size, and resize weight.

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

Parameters:
  `defaultAlignment` - the row's default alignment
  `size` - constant size, component size, or bounded size
  `resizeWeight` - the row's non-negative resize weight
Throws:
  `IllegalArgumentException` - if the size is invalid or the resize weight is negative

### RowSpec

public RowSpec(Size size)
Constructs a RowSpec 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 RowSpec createGap(ConstantSize gapHeight)
Creates and returns a `RowSpec` that represents a gap with the specified `ConstantSize`.

Parameters:
  `gapHeight` - specifies the gap height
Returns:
  a RowSpec that describes a vertical gap with the given height
Throws:
  `NullPointerException` - if `gapHeight` is `null`
Since:
  1.2

### decode

public static RowSpec decode(String encodedRowSpec)
Parses the encoded row specification and returns a RowSpec object that represents the string. Variables are expanded using the default LayoutMap.

Parameters:
  `encodedRowSpec` - the encoded row specification
Returns:
  a RowSpec instance for the given specification
Throws:
  `NullPointerException` - if `encodedRowSpec` is `null`
Since:
  1.2
See Also:
  - `decode(String, LayoutMap)`
  - `LayoutMap.getRoot()`

### decode

public static RowSpec decode(String encodedRowSpec, LayoutMap layoutMap)
Parses the encoded row specifications and returns a RowSpec object that represents the string. Variables are expanded using the given LayoutMap.

Parameters:
  `encodedRowSpec` - the encoded column specification
  `layoutMap` - expands layout row variables
Returns:
  a RowSpec instance for the given specification
Throws:
  `NullPointerException` - if `encodedRowSpec` or `layoutMap` is `null`
Since:
  1.2
See Also:
  - `decodeSpecs(String, LayoutMap)`

### decodeSpecs

public static RowSpec[] decodeSpecs(String encodedRowSpecs)
Parses and splits encoded row specifications using the default `LayoutMap` and returns an array of RowSpec objects.

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

### decodeSpecs

public static RowSpec[] decodeSpecs(String encodedRowSpecs, LayoutMap layoutMap)
Parses and splits encoded row specifications using the given `LayoutMap` and returns an array of RowSpec objects.

Parameters:
  `encodedRowSpecs` - comma separated encoded row specifications
  `layoutMap` - expands layout row variables
Returns:
  an array of decoded row specifications
Throws:
  `NullPointerException` - `encodedRowSpecs` or `layoutMap` is `null`
Since:
  1.2
See Also:
  - `RowSpec(String)`

### 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 `false` (for vertical)