Class ConstantSize

  • All Implemented Interfaces:
    Size, java.io.Serializable

    public final class ConstantSize
    extends java.lang.Object
    implements Size, java.io.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:
    Size, Sizes, Serialized Form
    • Constructor Detail

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

      • valueOf

        static ConstantSize valueOf​(java.lang.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:
        java.lang.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​(java.awt.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​(java.awt.Container container,
                               java.util.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​(java.lang.Object o)
        Indicates whether some other ConstantSize is "equal to" this one.
        Overrides:
        equals in class java.lang.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 java.lang.Object
        Returns:
        a hash code value for this object.
        See Also:
        Object.equals(java.lang.Object), Hashtable
      • toString

        public java.lang.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 java.lang.Object
        Returns:
        a string representation of the constant size
      • encode

        public java.lang.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 java.lang.String[] splitValueAndUnit​(java.lang.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