Class SpringLayout.Constraints
- Enclosing class:
- SpringLayout
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.
- Since:
- 1.4
Constructor Summary
Constructor | Description |
---|---|
Constraints() |
Creates an empty Constraints object. |
Constraints |
Creates a Constraints object with suitable x , y , width and height springs for component, c . |
Constraints |
Creates a Constraints object with the specified values for its x and y properties. |
Constraints |
Creates a Constraints object with the specified values for its x , y , width , and height properties. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
Spring |
getConstraint |
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 |
Sets the spring controlling the specified edge. |
void |
setHeight |
Sets the height property, which controls the height of a component. |
void |
setWidth |
Sets the width property, which controls the width of a component. |
void |
setX |
Sets the x property, which controls the x value of a component's location. |
void |
setY |
Sets the y property, which controls the y value of a component's location. |
Constructor Details
Constraints
public Constraints()
Constraints
object.Constraints
public Constraints(Spring x, Spring y)
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)
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 thex
property -
y
- the spring value for they
property -
width
- the spring value for thewidth
property -
height
- the spring value for theheight
property
Constraints
public Constraints(Component c)
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
- ifc
is null. - Since:
- 1.5
Method Details
setX
public void setX(Spring x)
x
property, which controls the x
value of a component's location.- Parameters:
-
x
- the spring controlling thex
value of a component's location - See Also:
getX
public Spring getX()
x
property.- Returns:
- the spring controlling the
x
value of a component's location - See Also:
setY
public void setY(Spring y)
y
property, which controls the y
value of a component's location.- Parameters:
-
y
- the spring controlling they
value of a component's location - See Also:
getY
public Spring getY()
y
property.- Returns:
- the spring controlling the
y
value of a component's location - See Also:
setWidth
public void setWidth(Spring width)
width
property, which controls the width of a component.- Parameters:
-
width
- the spring controlling the width of thisConstraints
object - See Also:
getWidth
public Spring getWidth()
width
property.- Returns:
- the spring controlling the width of a component
- See Also:
setHeight
public void setHeight(Spring height)
height
property, which controls the height of a component.- Parameters:
-
height
- the spring controlling the height of thisConstraints
object - See Also:
getHeight
public Spring getHeight()
height
property.- Returns:
- the spring controlling the height of a component
- See Also:
setConstraint
public void setConstraint(String edgeName, 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
.
- Parameters:
-
edgeName
- the edge to be set -
s
- the spring controlling the specified edge - Throws:
-
NullPointerException
- ifedgeName
isnull
- See Also:
getConstraint
public Spring getConstraint(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.- Parameters:
-
edgeName
- the edge whose value is to be returned - Returns:
- the spring controlling the specified edge, may be
null
- Throws:
-
NullPointerException
- ifedgeName
isnull
- See Also:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/SpringLayout.Constraints.html