public static class SpringLayout.Constraints extends Object
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.
| Constructor and Description |
|---|
Constraints()
Creates an empty
Constraints object.
|
Constraints(Component
Creates a
Constraints object with suitable
x,
y,
width and
height springs for component,
c.
|
Constraints(Spring
Creates a
Constraints object with the specified values for its
x and
y properties.
|
Constraints(Spring
Creates a
Constraints object with the specified values for its
x,
y,
width, and
height properties.
|
| Modifier and Type | Method and Description |
|---|---|
Spring |
getConstraint(String
Returns the value of the specified edge, which may be a derived value, or even
null.
|
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
Sets the spring controlling the specified edge.
|
void |
setHeight(Spring
Sets the
height property, which controls the height of a component.
|
void |
setWidth(Spring
Sets the
width property, which controls the width of a component.
|
void |
setX(Spring
Sets the
x property, which controls the
x value of a component's location.
|
void |
setY(Spring
Sets the
y property, which controls the
y value of a component's location.
|
public Constraints()
Constraints object.
public Constraints(Springx, Spring y)
Constraints object with the specified values for its
x and
y properties. The
height and
width springs have
null values.
x - the spring controlling the component's
x value
y - the spring controlling the component's
y value
public Constraints(Springx, Spring y, Spring width, Spring height)
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.
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
public Constraints(Componentc)
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.
c - the component whose characteristics will be reflected by this Constraints object
NullPointerException - if
c is null.
public void setX(Springx)
x property, which controls the
x value of a component's location.
x - the spring controlling the
x value of a component's location
getX(),
SpringLayout.Constraints
public SpringgetX()
x property.
x value of a component's location
setX(javax.swing.Spring),
SpringLayout.Constraints
public void setY(Springy)
y property, which controls the
y value of a component's location.
y - the spring controlling the
y value of a component's location
getY(),
SpringLayout.Constraints
public SpringgetY()
y property.
y value of a component's location
setY(javax.swing.Spring),
SpringLayout.Constraints
public void setWidth(Springwidth)
width property, which controls the width of a component.
width - the spring controlling the width of this
Constraints object
getWidth(),
SpringLayout.Constraints
public SpringgetWidth()
width property.
setWidth(javax.swing.Spring),
SpringLayout.Constraints
public void setHeight(Springheight)
height property, which controls the height of a component.
height - the spring controlling the height of this
Constraints object
getHeight(),
SpringLayout.Constraints
public SpringgetHeight()
height property.
setHeight(javax.swing.Spring),
SpringLayout.Constraints
public void setConstraint(StringedgeName, Spring s)
SpringLayout.NORTH,
SpringLayout.SOUTH,
SpringLayout.EAST,
SpringLayout.WEST,
SpringLayout.HORIZONTAL_CENTER,
SpringLayout.VERTICAL_CENTER,
SpringLayout.BASELINE,
SpringLayout.WIDTH or
SpringLayout.HEIGHT. For any other
String value passed as the edge, no action is taken. For a
null edge, a
NullPointerException is thrown.
Note: This method can affect x and y values previously set for this Constraints.
edgeName - the edge to be set
s - the spring controlling the specified edge
NullPointerException - if
edgeName is
null
getConstraint(java.lang.String),
SpringLayout.NORTH ,
SpringLayout.SOUTH ,
SpringLayout.EAST ,
SpringLayout.WEST ,
SpringLayout.HORIZONTAL_CENTER ,
SpringLayout.VERTICAL_CENTER ,
SpringLayout.BASELINE ,
SpringLayout.WIDTH ,
SpringLayout.HEIGHT ,
SpringLayout.Constraints
public SpringgetConstraint(String edgeName)
null. The edge must have one of the following values:
SpringLayout.NORTH,
SpringLayout.SOUTH,
SpringLayout.EAST,
SpringLayout.WEST,
SpringLayout.HORIZONTAL_CENTER,
SpringLayout.VERTICAL_CENTER,
SpringLayout.BASELINE,
SpringLayout.WIDTH or
SpringLayout.HEIGHT. For any other
String value passed as the edge,
null will be returned. Throws
NullPointerException for a
null edge.
edgeName - the edge whose value is to be returned
null
NullPointerException - if
edgeName is
null
setConstraint(java.lang.String, javax.swing.Spring),
SpringLayout.NORTH ,
SpringLayout.SOUTH ,
SpringLayout.EAST ,
SpringLayout.WEST ,
SpringLayout.HORIZONTAL_CENTER ,
SpringLayout.VERTICAL_CENTER ,
SpringLayout.BASELINE ,
SpringLayout.WIDTH ,
SpringLayout.HEIGHT ,
SpringLayout.Constraints