Package com.privatejgoodies.forms.layout

## Interface Size

All Known Implementing Classes:
  `BoundedSize`, `ConstantSize`, `PrototypeSize`

    public interface Size

An interface that describes sizes as used by the `FormLayout`: component measuring sizes, constant sizes with value and unit, and bounded sizes that provide lower and upper bounds for a size.

You can find a motivation for the different `Size` types in the Forms whitepaper that is part of the product documentation and that is available online too, see http://www.jgoodies.com/articles/forms.pdf.

Version:
  $Revision: 1.12 $
Author:
  Karsten Lentzsch
See Also:
  `Sizes`, `ConstantSize`

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `compressible()` Describes if this Size can be compressed, if container space gets scarce.
`java.lang.String` `encode()` Returns a String respresentation of this Size object that can be parsed by the Forms parser.
`int` `maximumSize​(java.awt.Container container, java.util.List components, FormLayout.Measure minMeasure, FormLayout.Measure prefMeasure, FormLayout.Measure defaultMeasure)` Computes and returns this Size's maximum pixel size applied to the given list of components using the specified measures.

### Method Detail

#### maximumSize

    int maximumSize​(java.awt.Container container,
                    java.util.List components,
                    FormLayout.Measure minMeasure,
                    FormLayout.Measure prefMeasure,
                    FormLayout.Measure defaultMeasure)

Computes and returns this Size's maximum pixel size applied to the given list of components using the specified measures.

Invoked by `FormSpec` to determine the size of a column or row. This method is not intended to be called by API users, and it uses API invisible parameter types.

Parameters:
  `container` - the layout container
  `components` - the list of components used to compute the size
  `minMeasure` - the measure that determines the minimum sizes
  `prefMeasure` - the measure that determines the preferred sizes
  `defaultMeasure` - the measure that determines the default sizes
Returns:
  the maximum size in pixels for the given list of components

#### compressible

    boolean compressible()

Describes if this Size can be compressed, if container space gets scarce. Used by the FormLayout size computations in `#compressedSizes` to check whether a column or row can be compressed or not.

The ComponentSize default is compressible, as well as BoundedSizes that are based on the default size.

Returns:
  `true` for compressible Sizes
Since:
  1.1

#### encode

    java.lang.String encode()

Returns a String respresentation of this Size object that can be parsed by the Forms parser.

Implementors should return a non-verbose string.

Returns:
  a parseable String representation of this object.
Since:
  1.2