com.jgoodies.forms.layout

## Class PrototypeSize

- java.lang.Object
- - com.jgoodies.forms.layout.PrototypeSize

- All Implemented Interfaces:
    Size, Serializable

      public final class PrototypeSize
      extends Object
      implements Size, Serializable

  A `Size` implementation that computes its width and height by a prototype String.

  Examples:

       new PrototypeSize("123-456-789");
       new FormLayout("p, 2dlu, 'MMMM'");

  Since:
    1.2
  Version:
    $Revision: 1.7 $
  Author:
    Karsten Lentzsch
  See Also:
    `Size`, `Sizes`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PrototypeSize(String prototype)` Constructs a PrototypeSize for the given String.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `compressible()` Describes if this Size can be compressed, if container space gets scarce.
    `String` | `encode()` Returns a parseable string representation of this prototype size.
    `boolean` | `equals(Object o)` Indicates whether some other ConstantSize is "equal to" this one.
    `String` | `getPrototype()` Returns this size's prototype string.
    `int` | `hashCode()` Returns a hash code value for the object.
    `int` | `maximumSize(Container container, List components, FormLayout.Measure minMeasure, FormLayout.Measure prefMeasure, FormLayout.Measure defaultMeasure)` Computes and returns the width of this Size's prototype in pixel.
    `String` | `toString()` Returns a string representation of this size object.

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

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

- - ### Constructor Detail

    - #### PrototypeSize

          public PrototypeSize(String prototype)

      Constructs a PrototypeSize for the given String.
      Parameters:
        `prototype` - the String used to compute the width and height.
      Throws:
        `NullPointerException` - if `prototype` is `null`.
      Since:
        1.2

  - ### Method Detail

    - #### getPrototype

          public String getPrototype()

      Returns this size's prototype string.
      Returns:
        the prototype string

    - #### maximumSize

          public int maximumSize(Container container,
                        List components,
                        FormLayout.Measure minMeasure,
                        FormLayout.Measure prefMeasure,
                        FormLayout.Measure defaultMeasure)

      Computes and returns the width of this Size's prototype in pixel. Ignores the component list and measures. Obtains the FontMetrics from the given layout `container` for the default dialog font provided by `DefaultUnitConverter.getDefaultDialogFont()`.

      Invoked by `FormSpec` to determine the size of a column or row.

      Specified by:
        `maximumSize` in interface `Size`
      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 `stringWidth` for this size's prototype string computed by the `container`'s FontMetrics for the `DefaultUnitConverter`'s default dialog font

    - #### compressible

          public 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.

      PrototypeSizes are incompressible.

      Specified by:
        `compressible` in interface `Size`
      Returns:
        `false`

    - #### encode

          public String encode()

      Returns a parseable string representation of this prototype size.
      Specified by:
        `encode` in interface `Size`
      Returns:
        a String that can be parsed by the Forms parser

    - #### equals

          public boolean equals(Object o)

      Indicates whether some other ConstantSize is "equal to" this one.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `o` - the Object with which to compare
      Returns:
        `true` if this object is the same as the obj argument; `false` otherwise.
      See Also:
        `Object.hashCode()`, `Hashtable`

    - #### hashCode

          public int hashCode()

      Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by `java.util.Hashtable`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for this object.
      See Also:
        `Object.equals(java.lang.Object)`, `Hashtable`

    - #### toString

          public String toString()

      Returns a string representation of this size object. Note: This string representation may change at any time. It is intended for debugging purposes. For parsing, use `encode()` instead.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of the constant size

Copyright © 2002-2014 JGoodies Software GmbH. All Rights Reserved.