Class SpringLayout.Constraints

java.lang.Object
javax.swing.SpringLayout.Constraints
Enclosing class:
SpringLayout

public static class SpringLayout.Constraints extends Object
A Constraints object holds the constraints that govern the way a component's size and position change in a container controlled by a SpringLayout. A Constraints object is like a Rectangle, in that it has x, y, width, and height properties. In the Constraints object, however, these properties have Spring values instead of integers. In addition, a Constraints object can be manipulated as four edges -- north, south, east, and west -- using the constraint property.

The following formulas are always true for a Constraints object (here WEST and x are synonyms, as are and NORTH and y):

              EAST = WEST + WIDTH
             SOUTH = NORTH + HEIGHT
 HORIZONTAL_CENTER = WEST + WIDTH/2
   VERTICAL_CENTER = NORTH + HEIGHT/2
 ABSOLUTE_BASELINE = NORTH + RELATIVE_BASELINE*

For example, if you have specified the WIDTH and WEST (X) location the EAST is calculated as WEST + WIDTH. If you instead specified the WIDTH and EAST locations the WEST (X) location is then calculated as EAST - WIDTH.

[RELATIVE_BASELINE is a private constraint that is set automatically when the SpringLayout.Constraints(Component) constructor is called or when a constraints object is registered with a SpringLayout object.]

Note: In this document, operators represent methods in the Spring class. For example, "a + b" is equal to Spring.sum(a, b), and "a - b" is equal to Spring.sum(a, Spring.minus(b)). See the Spring API documentation for further details of spring arithmetic.

Because a Constraints object's properties -- representing its edges, size, and location -- can all be set independently and yet are interrelated, a Constraints object can become over-constrained. For example, if the WEST, WIDTH and EAST edges are all set, steps must be taken to ensure that the first of the formulas above holds. To do this, the Constraints object throws away the least recently set constraint so as to make the formulas hold.

Since:
1.4
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an empty Constraints object.
    Creates a Constraints object with suitable x, y, width and height springs for component, c.
    Creates a Constraints object with the specified values for its x and y properties.
    Constraints(Spring x, Spring y, Spring width, Spring height)
    Creates a Constraints object with the specified values for its x, y, width, and height properties.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the value of the specified edge, which may be a derived value, or even null.
    Returns the value of the height property.
    Returns the value of the width property.
    Returns the value of the x property.
    Returns the value of the y property.
    void
    setConstraint(String edgeName, Spring s)
    Sets the spring controlling the specified edge.
    void
    setHeight(Spring height)
    Sets the height property, which controls the height of a component.
    void
    Sets the width property, which controls the width of a component.
    void
    Sets the x property, which controls the x value of a component's location.
    void
    Sets the y property, which controls the y value of a component's location.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • Constraints

      public Constraints()
      Creates an empty Constraints object.
    • Constraints

      public Constraints(Spring x, Spring y)
      Creates a Constraints object with the specified values for its x and y properties. The height and width springs have null values.
      Parameters:
      x - the spring controlling the component's x value
      y - the spring controlling the component's y value
    • Constraints

      public Constraints(Spring x, Spring y, Spring width, Spring height)
      Creates a Constraints object with the specified values for its x, y, width, and height properties. Note: If the SpringLayout class encounters null values in the Constraints object of a given component, it replaces them with suitable defaults.
      Parameters:
      x - the spring value for the x property
      y - the spring value for the y property
      width - the spring value for the width property
      height - the spring value for the height property
    • Constraints

      public Constraints(Component c)
      Creates a Constraints object with suitable x, y, width and height springs for component, c. The x and y springs are constant springs initialised with the component's location at the time this method is called. The width and height springs are special springs, created by the Spring.width() and Spring.height() methods, which track the size characteristics of the component when they change.
      Parameters:
      c - the component whose characteristics will be reflected by this Constraints object
      Throws:
      NullPointerException - if c is null.
      Since:
      1.5
  • Method Details