Class UnitValue

java.lang.Object
net.miginfocom.layout.UnitValue
All Implemented Interfaces:
Serializable

public final class UnitValue extends Object implements Serializable
See Also:
  • Field Details

    • UNIT_MAP

      private static final HashMap<String,Integer> UNIT_MAP
    • CONVERTERS

      private static final ArrayList<UnitConverter> CONVERTERS
    • STATIC

      public static final int STATIC
      An operation indicating a static value.
      See Also:
    • ADD

      public static final int ADD
      An operation indicating a addition of two sub units.
      See Also:
    • SUB

      public static final int SUB
      An operation indicating a subtraction of two sub units
      See Also:
    • MUL

      public static final int MUL
      An operation indicating a multiplication of two sub units.
      See Also:
    • DIV

      public static final int DIV
      An operation indicating a division of two sub units.
      See Also:
    • MIN

      public static final int MIN
      An operation indicating the minimum of two sub units
      See Also:
    • MAX

      public static final int MAX
      An operation indicating the maximum of two sub units
      See Also:
    • MID

      public static final int MID
      An operation indicating the middle value of two sub units
      See Also:
    • PIXEL

      public static final int PIXEL
      A unit indicating pixels.
      See Also:
    • LPX

      public static final int LPX
      A unit indicating logical horizontal pixels.
      See Also:
    • LPY

      public static final int LPY
      A unit indicating logical vertical pixels.
      See Also:
    • MM

      public static final int MM
      A unit indicating millimeters.
      See Also:
    • CM

      public static final int CM
      A unit indicating centimeters.
      See Also:
    • INCH

      public static final int INCH
      A unit indicating inches.
      See Also:
    • PERCENT

      public static final int PERCENT
      A unit indicating percent.
      See Also:
    • PT

      public static final int PT
      A unit indicating points.
      See Also:
    • SPX

      public static final int SPX
      A unit indicating screen percentage width.
      See Also:
    • SPY

      public static final int SPY
      A unit indicating screen percentage height.
      See Also:
    • ALIGN

      public static final int ALIGN
      A unit indicating alignment.
      See Also:
    • MIN_SIZE

      public static final int MIN_SIZE
      A unit indicating minimum size.
      See Also:
    • PREF_SIZE

      public static final int PREF_SIZE
      A unit indicating preferred size.
      See Also:
    • MAX_SIZE

      public static final int MAX_SIZE
      A unit indicating maximum size.
      See Also:
    • BUTTON

      public static final int BUTTON
      A unit indicating button size.
      See Also:
    • LOOKUP

      public static final int LOOKUP
      A unit indicating a lookup.
      See Also:
    • LABEL_ALIGN

      public static final int LABEL_ALIGN
      A unit indicating label alignment.
      See Also:
    • IDENTITY

      private static final int IDENTITY
      See Also:
    • ZERO

      static final UnitValue ZERO
    • TOP

      static final UnitValue TOP
    • LEADING

      static final UnitValue LEADING
    • LEFT

      static final UnitValue LEFT
    • CENTER

      static final UnitValue CENTER
    • TRAILING

      static final UnitValue TRAILING
    • BOTTOM

      static final UnitValue BOTTOM
    • LABEL

      static final UnitValue LABEL
    • INF

      static final UnitValue INF
    • BASELINE_IDENTITY

      static final UnitValue BASELINE_IDENTITY
    • value

      private final transient float value
    • unit

      private final transient int unit
    • oper

      private final transient int oper
    • unitStr

      private final transient String unitStr
    • linkId

      private transient String linkId
    • isHor

      private final transient boolean isHor
    • subUnits

      private final transient UnitValue[] subUnits
    • SCALE

      private static final float[] SCALE
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
  • Constructor Details

    • UnitValue

      public UnitValue(float value)
    • UnitValue

      public UnitValue(float value, int unit, String createString)
    • UnitValue

      public UnitValue(float value, String unitStr, boolean isHor, int oper, String createString)
    • UnitValue

      UnitValue(boolean isHor, int oper, UnitValue sub1, UnitValue sub2, String createString)
    • UnitValue

      private UnitValue(float value, String unitStr, int unit, boolean isHor, int oper, UnitValue sub1, UnitValue sub2, String createString)
  • Method Details

    • getPixels

      public final int getPixels(float refValue, ContainerWrapper parent, ComponentWrapper comp)
      Returns the size in pixels rounded.
      Parameters:
      refValue - The reference value. Normally the size of the parent. For unit ALIGN the current size of the component should be sent in.
      parent - The parent. May be null for testing the validity of the value, but should normally not and are not required to return any usable value if null.
      comp - The component, if any, that the value is for. Might be null if the value is not connected to any component.
      Returns:
      The size in pixels.
    • getPixelsExact

      public final float getPixelsExact(float refValue, ContainerWrapper parent, ComponentWrapper comp)
      Returns the size in pixels.
      Parameters:
      refValue - The reference value. Normally the size of the parent. For unit ALIGN the current size of the component should be sent in.
      parent - The parent. May be null for testing the validity of the value, but should normally not and are not required to return any usable value if null.
      comp - The component, if any, that the value is for. Might be null if the value is not connected to any component.
      Returns:
      The size in pixels.
    • lookup

      private float lookup(float refValue, ContainerWrapper parent, ComponentWrapper comp)
    • parseUnitString

      private int parseUnitString()
    • isAbsolute

      final boolean isAbsolute()
    • isAbsoluteDeep

      final boolean isAbsoluteDeep()
    • isLinked

      final boolean isLinked()
    • isLinkedDeep

      final boolean isLinkedDeep()
    • getLinkTargetId

      final String getLinkTargetId()
    • getSubUnitValue

      final UnitValue getSubUnitValue(int i)
    • getSubUnitCount

      final int getSubUnitCount()
    • getSubUnits

      public final UnitValue[] getSubUnits()
    • getUnit

      public final int getUnit()
    • getUnitString

      public final String getUnitString()
    • getOperation

      public final int getOperation()
    • getValue

      public final float getValue()
    • isHorizontal

      public final boolean isHorizontal()
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • getConstraintString

      public final String getConstraintString()
      Returns the creation string for this object. Note that LayoutUtil.setDesignTime(ContainerWrapper, boolean) must be set to true for the creation strings to be stored.
      Returns:
      The constraint string or null if none is registered.
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • addGlobalUnitConverter

      public static void addGlobalUnitConverter(UnitConverter conv)
      Adds a global unit converter that can convert from some unit to pixels.

      This converter will be asked before the platform converter so the values for it (e.g. "related" and "unrelated") can be overridden. It is however not possible to override the built in ones (e.g. "mm", "pixel" or "lp").

      Parameters:
      conv - The converter. Not null.
    • removeGlobalUnitConverter

      public static boolean removeGlobalUnitConverter(UnitConverter unit)
      Removed the converter.
      Parameters:
      unit - The converter.
      Returns:
      If there was a converter found and thus removed.
    • getGlobalUnitConverters

      public static UnitConverter[] getGlobalUnitConverters()
      Returns the global converters currently registered. The platform converter will not be in this list.
      Returns:
      The converters. Never null.
    • getDefaultUnit

      public static int getDefaultUnit()
      Returns the current default unit. The default unit is the unit used if no unit is set. E.g. "width 10".
      Returns:
      The current default unit.
      See Also:
    • setDefaultUnit

      public static void setDefaultUnit(int unit)
      Sets the default unit. The default unit is the unit used if no unit is set. E.g. "width 10".
      Parameters:
      unit - The new default unit.
      See Also:
    • readResolve

      private Object readResolve() throws ObjectStreamException
      Throws:
      ObjectStreamException
    • writeObject

      private void writeObject(ObjectOutputStream out) throws IOException
      Throws:
      IOException
    • readObject

      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException