SpringLayout.Constraints (Java 2 Platform SE 5.0) (original) (raw)
javax.swing
Class SpringLayout.Constraints
java.lang.Object
javax.swing.SpringLayout.Constraints
Enclosing class:
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 haveSpring
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 toSpring.sum(a, b)
, and "a - b" is equal toSpring.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 c) Creates a Constraints object with suitable x, y, width andheight springs for component, c. |
[SpringLayout.Constraints](../../javax/swing/SpringLayout.Constraints.html#SpringLayout.Constraints%28javax.swing.Spring, javax.swing.Spring%29)(Spring x,Spring y) Creates a Constraints object with the specified values for itsx and y properties. |
[SpringLayout.Constraints](../../javax/swing/SpringLayout.Constraints.html#SpringLayout.Constraints%28javax.swing.Spring, javax.swing.Spring, javax.swing.Spring, javax.swing.Spring%29)(Spring x,Spring y,Spring width,Spring height) Creates a Constraints object with the specified values for itsx, 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](../../javax/swing/SpringLayout.Constraints.html#setConstraint%28java.lang.String, javax.swing.Spring%29)(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](../../java/lang/Object.html#wait%28long, int%29) |
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 itsx
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 itsx
, y
, width
, and height
properties. Note: If the SpringLayout
class encounters null
values in theConstraints
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
andheight
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
andheight
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](../../java/lang/NullPointerException.html "class in java.lang")
- if c
is null.
Since:
1.5
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 thisConstraints
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)](../../javax/swing/SpringLayout.Constraints.html#setConstraint%28java.lang.String, javax.swing.Spring%29), SpringLayout.NORTH, SpringLayout.SOUTH, SpringLayout.EAST, SpringLayout.WEST, SpringLayout.Constraints
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 © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.