java.lang.Object javax.swing.SpringLayout.Constraints
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 + heightNote : 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
(
Component
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
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 |
---|
public SpringLayout.Constraints()
public SpringLayout.Constraints(Spring x, Spring y)
public SpringLayout.Constraints(Spring x, Spring y, Spring width, Spring height)
public SpringLayout.Constraints ( Component c)
Method Detail |
---|
public void setX(Spring x)
public Spring getX()
public void setY(Spring y)
public Spring getY()
public void setWidth(Spring width)
public Spring getWidth()
public void setHeight(Spring height)
public Spring getHeight()
public void setConstraint(String edgeName, Spring s)
public Spring getConstraint(String edgeName)