TopBlend:
Here is the
first difference.
There are 16 differences.
is old.
is new.
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 (here WEST and x are synonyms, as are and NORTH and y):
object:
EAST = WEST + WIDTH
SOUTH = NORTH + HEIGHT
HORIZONTAL_CENTER = WEST + WIDTH/2
VERTICAL_CENTER = NORTH + HEIGHT/2
ABSOLUTE_BASELINE = NORTH + RELATIVE_BASELINE*
![](../../diffpics/oold.gif)
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.
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.
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.
[RELATIVE_BASELINE is a private constraint that is set automatically when the SpringLayout.Constraints(Component) constuctor is called or when a constraints object is registered with a SpringLayout object.]
The following table shows which value changes when a Constraints object is over-constrained horizontally.
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.
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.
|
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.
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
(
Component
c)
Creates a Constraints object with suitable x, y, width and height springs for component, c. |
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
Returns the value of the specified
edge, which may be a derived value, or even null.
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
|
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
SpringLayout.Constraints
public SpringLayout.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
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, 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.
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
-
Throws:
-
NullPointerException
- if edgeName is null
-
See Also:
-
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
getConstraint
public Spring getConstraint(String edgeName)
-
Returns the value of the specified edge, which may be a derived value, or even 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.
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, may be null
edge
-
Throws:
-
NullPointerException
- if edgeName is null
-
See Also:
-
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