Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
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:

           west = x
          north = y
           east = x + width
          south = y + height

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, the object can become over-constrained. For example, if both the `x` and `width` properties are set and then the east edge is set, the object is over-constrained horizontally. When this happens, one of the values (in this case, the `x` property) automatically changes so that the formulas still hold.

The following table shows which value changes when a `Constraints` object is over-constrained horizontally.

Value Being Set (method used) | Result When Over-Constrained Horizontally (`x`, `width`, and the east edge are all non-`null`)
`x` or the west edge (`setX` or `setConstraint`) | `width` value is automatically set to `east - x`.
`width` (`setWidth`) | east edge's value is automatically set to `x + width`.
east edge (`setConstraint`) | `x` value is automatically set to `east - width`.

The rules for the vertical properties are similar:

Value Being Set (method used) | Result When Over-Constrained Vertically (`y`, `height`, and the south edge are all non-`null`)
`y` or the north edge (`setY` or `setConstraint`) | `height` value is automatically set to `south - y`.
`height` (`setHeight`) | south edge's value is automatically set to `y + height`.
south edge (`setConstraint`) | `y` value is automatically set to `south - height`.

Constructor Summary
`SpringLayout.Constraints()` Creates an empty `Constraints` object.
`SpringLayout.Constraints(Spring x, Spring y)` Creates a `Constraints` object with the specified values for its `x` and `y` properties.
`SpringLayout.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
`Spring` | `getConstraint(String edgeName)` Returns the value of the specified edge.
`Spring` | `getHeight()` Returns the value of the `height` property.
`Spring` | `getWidth()` Returns the value of the `width` property.
`Spring` | `getX()` Returns the value of the `x` property.
`Spring` | `getY()` 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` | `setWidth(Spring width)` Sets the `width` property, which controls the width of a component.
`void` | `setX(Spring x)` Sets the `x` property, which controls the `x` value of a component's location.
`void` | `setY(Spring y)` Sets the `y` property, which controls the `y` value of a component's location.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SpringLayout.Constraints

    public SpringLayout.Constraints()

  Creates an empty `Constraints` object.

### SpringLayout.Constraints

    public SpringLayout.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

### SpringLayout.Constraints

    public SpringLayout.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

Method Detail

### setX

    public void setX(Spring x)

  Sets the `x` property, which controls the `x` value of a component's location.

  Parameters:
    `x` - the spring controlling the `x` value of a component's location
  See Also:
    `getX()`, `SpringLayout.Constraints`

### getX

    public Spring getX()

  Returns the value of the `x` property.

  Returns:
    the spring controlling the `x` value of a component's location
  See Also:
    `setX(javax.swing.Spring)`, `SpringLayout.Constraints`

### setY

    public void setY(Spring y)

  Sets the `y` property, which controls the `y` value of a component's location.

  Parameters:
    `y` - the spring controlling the `y` value of a component's location
  See Also:
    `getY()`, `SpringLayout.Constraints`

### getY

    public Spring getY()

  Returns the value of the `y` property.

  Returns:
    the spring controlling the `y` value of a component's location
  See Also:
    `setY(javax.swing.Spring)`, `SpringLayout.Constraints`

### setWidth

    public void setWidth(Spring width)

  Sets the `width` property, which controls the width of a component.

  Parameters:
    `width` - the spring controlling the width of this `Constraints` object
  See Also:
    `getWidth()`, `SpringLayout.Constraints`

### getWidth

    public Spring getWidth()

  Returns the value of the `width` property.

  Returns:
    the spring controlling the width of a component
  See Also:
    `setWidth(javax.swing.Spring)`, `SpringLayout.Constraints`

### setHeight

    public void setHeight(Spring height)

  Sets the `height` property, which controls the height of a component.

  Parameters:
    `height` - the spring controlling the height of this `Constraints` object
  See Also:
    `getHeight()`, `SpringLayout.Constraints`

### getHeight

    public Spring getHeight()

  Returns the value of the `height` property.

  Returns:
    the spring controlling the height of a component
  See Also:
    `setHeight(javax.swing.Spring)`, `SpringLayout.Constraints`

### setConstraint

    public void setConstraint(String edgeName,
                              Spring s)

  Sets the spring controlling the specified edge. The edge must have one of the following values: `SpringLayout.NORTH`, `SpringLayout.SOUTH`, `SpringLayout.EAST`, `SpringLayout.WEST`.

  Parameters:
    `edgeName` - the edge to be set
    `s` - the spring controlling the specified edge
  See Also:
    `getConstraint(java.lang.String)`, `SpringLayout.NORTH`, `SpringLayout.SOUTH`, `SpringLayout.EAST`, `SpringLayout.WEST`, `SpringLayout.Constraints`

### getConstraint

    public Spring getConstraint(String edgeName)

  Returns the value of the specified edge. The edge must have one of the following values: `SpringLayout.NORTH`, `SpringLayout.SOUTH`, `SpringLayout.EAST`, `SpringLayout.WEST`.

  Parameters:
    `edgeName` - the edge whose value is to be returned
  Returns:
    the spring controlling the specified edge
  See Also:
    `setConstraint(java.lang.String, javax.swing.Spring)`, `SpringLayout.NORTH`, `SpringLayout.SOUTH`, `SpringLayout.EAST`, `SpringLayout.WEST`, `SpringLayout.Constraints`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.