Class ConstantSize

java.lang.Object
com.jgoodies.forms.layout.ConstantSize
All Implemented Interfaces:
Size, Serializable

public final class ConstantSize extends Object implements Size, Serializable
An implementation of the Size interface that represents constant sizes described by a value and unit, for example: 10 pixel, 15 point or 4 dialog units. You can get instances of ConstantSize using the factory methods and constants in the Sizes class. Logical constant sizes that vary with the current layout style are delivered by the LayoutStyle class.

This class supports different size units:

Unit   Abbreviation   Size
Millimetermm0.1 cm
Centimetercm10.0 mm
Inchin25.4 mm
DTP Pointpt1/72 in
Pixelpx1/(resolution in dpi) in
Dialog Unitdluhonors l&f, resolution, and dialog font size

Examples:

 Sizes.ZERO;
 Sizes.DLUX9;
 Sizes.dluX(42);
 Sizes.pixel(99);
 
Version:
$Revision: 1.21 $
See Also:
  • Field Details

  • Constructor Details

    • ConstantSize

      public ConstantSize(int value, ConstantSize.Unit unit)
      Constructs a ConstantSize for the given size and unit.
      Parameters:
      value - the size value interpreted in the given units
      unit - the size's unit
      Since:
      1.1
    • ConstantSize

      public ConstantSize(double value, ConstantSize.Unit unit)
      Constructs a ConstantSize for the given size and unit.
      Parameters:
      value - the size value interpreted in the given units
      unit - the size's unit
      Since:
      1.1
  • Method Details

    • valueOf

      static ConstantSize valueOf(String encodedValueAndUnit, boolean horizontal)
      Creates and returns a ConstantSize from the given encoded size and unit description.
      Parameters:
      encodedValueAndUnit - the size's value and unit as string, trimmed and in lower case
      horizontal - true for horizontal, false for vertical
      Returns:
      a constant size for the given encoding and unit description
      Throws:
      IllegalArgumentException - if the unit requires integer but the value is not an integer
    • dluX

      static ConstantSize dluX(int value)
      Creates and returns a ConstantSize for the specified size value in horizontal dialog units.
      Parameters:
      value - size value in horizontal dialog units
      Returns:
      the associated Size instance
    • dluY

      static ConstantSize dluY(int value)
      Creates and returns a ConstantSize for the specified size value in vertical dialog units.
      Parameters:
      value - size value in vertical dialog units
      Returns:
      the associated Size instance
    • getValue

      public double getValue()
      Returns this size's value.
      Returns:
      the size value
      Since:
      1.1
    • getUnit

      public ConstantSize.Unit getUnit()
      Returns this size's unit.
      Returns:
      the size unit
      Since:
      1.1
    • getPixelSize

      public int getPixelSize(Component component)
      Converts the size if necessary and returns the value in pixels.
      Parameters:
      component - the associated component
      Returns:
      the size in pixels
    • maximumSize

      public int maximumSize(Container container, List components, FormLayout.Measure minMeasure, FormLayout.Measure prefMeasure, FormLayout.Measure defaultMeasure)
      Returns this size as pixel size. Neither requires the component list nor the specified measures.

      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 computed maximum size in pixel
    • 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.

      ConstantSizes are incompressible.

      Specified by:
      compressible in interface Size
      Returns:
      false
      Since:
      1.1
    • 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
    • encode

      public String encode()
      Returns a parseable string representation of this constant size.
      Specified by:
      encode in interface Size
      Returns:
      a String that can be parsed by the Forms parser
      Since:
      1.2
    • intValue

      private int intValue()
    • splitValueAndUnit

      private static String[] splitValueAndUnit(String encodedValueAndUnit)
      Splits a string that encodes size with unit into the size and unit substrings. Returns an array of two strings.
      Parameters:
      encodedValueAndUnit - a strings that represents a size with unit, trimmed and in lower case
      Returns:
      the first element is size, the second is unit