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.4 $
Author:
Karsten Lentzsch
See Also:
  • Constructor Details

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

    • 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:
    • 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:
    • 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