Package com.privatejgoodies.forms.layout

## Class RowSpec

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

All Implemented Interfaces:
  `java.io.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
`static FormSpec.DefaultAlignment` `BOTTOM` By default put the components in the bottom.
`static FormSpec.DefaultAlignment` `CENTER` By default put the components in the center.
`static FormSpec.DefaultAlignment` `DEFAULT` Unless overridden the default alignment for a row is CENTER.
`static FormSpec.DefaultAlignment` `FILL` By default fill the component into the row.
`static 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
`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

All Methods Static Methods Instance Methods Concrete Methods
`static RowSpec` `createGap​(ConstantSize gapHeight)` Creates and returns a `RowSpec` that represents a gap with the specified `ConstantSize`.
`static RowSpec` `decode​(java.lang.String encodedRowSpec)` Parses the encoded row specification and returns a RowSpec object that represents the string.
`static RowSpec` `decode​(java.lang.String encodedRowSpec, LayoutMap layoutMap)` Parses the encoded row specifications and returns a RowSpec object that represents the string.
`static RowSpec[]` `decodeSpecs​(java.lang.String encodedRowSpecs)` Parses and splits encoded row specifications using the default `LayoutMap` and returns an array of RowSpec objects.
`static RowSpec[]` `decodeSpecs​(java.lang.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 Detail

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

#### 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:
  `java.lang.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:
  `java.lang.IllegalArgumentException` - if the size is invalid

### Method Detail

#### 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:
  `java.lang.NullPointerException` - if `gapHeight` is `null`
Since:
  1.2

#### decode

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

#### decode

    public static RowSpec decode​(java.lang.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:
  `java.lang.NullPointerException` - if `encodedRowSpec` or `layoutMap` is `null`
Since:
  1.2
See Also:
  `decodeSpecs(String, LayoutMap)`

#### decodeSpecs

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

#### decodeSpecs

    public static RowSpec[] decodeSpecs​(java.lang.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:
  `java.lang.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)