SpringLayout.Constraints (Java Platform SE 6) (original) (raw)



javax.swing

Class SpringLayout.Constraints

java.lang.Object extended by 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 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 (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) constuctor 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 toSpring.sum(a, b), and "a - b" is equal toSpring.sum(a, Spring.minus(b)). See theSpring 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 andEAST edges are all set, steps must be taken to ensure that the first of the formulas above holds. To do this, theConstraints object throws away the least recently set constraint so as to make the formulas hold.

Since:

1.4


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, 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](../../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, SpringLayout.HORIZONTAL_CENTER,SpringLayout.VERTICAL_CENTER, SpringLayout.BASELINE, SpringLayout.WIDTH orSpringLayout.HEIGHT. For any other String value passed as the edge, no action is taken. For a null edge, aNullPointerException is thrown.

Parameters:

edgeName - the edge to be set

s - the spring controlling the specified edge

Throws:

[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang") - 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 orSpringLayout.HEIGHT. For any other String value passed as the edge,null will be returned. ThrowsNullPointerException 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](../../java/lang/NullPointerException.html "class in java.lang") - if edgeName is null

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.HORIZONTAL_CENTER, SpringLayout.VERTICAL_CENTER, SpringLayout.BASELINE, SpringLayout.WIDTH, SpringLayout.HEIGHT, SpringLayout.Constraints



Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.