java.lang.Object
javax.swing.SpringLayout.Constraints
- 封装类:
-
SpringLayout
Constraints对象保存了控制组件在由SpringLayout控制的容器中大小和位置变化的约束条件。一个Constraints对象类似于一个Rectangle,它具有x、y、width和height属性。然而,在Constraints对象中,这些属性具有Spring值而不是整数。此外,Constraints对象可以被操作为四个边缘 -- 北、南、东、西 -- 使用constraint属性。
对于Constraints对象,以下公式始终成立(这里WEST和x是同义词,NORTH和y也是同义词):
EAST = WEST + WIDTH
SOUTH = NORTH + HEIGHT
HORIZONTAL_CENTER = WEST + WIDTH/2
VERTICAL_CENTER = NORTH + HEIGHT/2
ABSOLUTE_BASELINE = NORTH + RELATIVE_BASELINE*
例如,如果您已经指定了WIDTH和WEST(X)位置,则EAST被计算为WEST + WIDTH。如果您指定了WIDTH和EAST位置,则WEST(X)位置被计算为EAST - WIDTH。
[RELATIVE_BASELINE是一个私有约束条件,当调用SpringLayout.Constraints(Component)构造函数或将约束对象注册到SpringLayout对象时,它会自动设置。]
注意:在本文档中,运算符代表Spring类中的方法。例如,“a + b”等同于Spring.sum(a, b),而“a - b”等同于Spring.sum(a, Spring.minus(b))。有关弹簧算术的更多详细信息,请参阅Spring API文档。
因为Constraints对象的属性 -- 代表其边缘、大小和位置 -- 都可以独立设置,但又相互关联,所以Constraints对象可能会变得过度约束。例如,如果设置了WEST、WIDTH和EAST边缘,必须采取措施确保上述第一个公式成立。为此,Constraints对象会丢弃最近设置的约束条件,以使公式成立。
- 自Java版本:
- 1.4
-
Constructor Summary
ConstructorsConstructorDescription创建一个空的Constraints对象。为组件c创建一个具有适当的x、y、width和height弹簧的Constraints对象。Constraints(Spring x, Spring y) 创建一个具有指定x和y属性值的Constraints对象。Constraints(Spring x, Spring y, Spring width, Spring height) 创建一个具有指定x、y、width和height属性值的Constraints对象。 -
Method Summary
Modifier and TypeMethodDescriptiongetConstraint(String edgeName) 返回指定边缘的值,该值可能是一个派生值,甚至是null。返回height属性的值。getWidth()返回width属性的值。getX()返回x属性的值。getY()返回y属性的值。voidsetConstraint(String edgeName, Spring s) 设置控制指定边缘的弹簧。void设置控制组件高度的height属性。void设置控制组件宽度的width属性。void设置控制组件位置x值的x属性。void设置控制组件位置y值的y属性。
-
Constructor Details
-
Constraints
public Constraints()创建一个空的Constraints对象。 -
Constraints
创建一个具有指定x和y属性值的Constraints对象。height和width弹簧具有null值。- 参数:
-
x- 控制组件x值的弹簧 -
y- 控制组件y值的弹簧
-
Constraints
创建一个具有指定x、y、width和height属性值的Constraints对象。注意:如果Constraints对象中的值为null,则SpringLayout类会用适当的默认值替换它们。- 参数:
-
x-x属性的弹簧值 -
y-y属性的弹簧值 -
width-width属性的弹簧值 -
height-height属性的弹簧值
-
Constraints
为组件c创建一个具有适当的x、y、width和height弹簧的Constraints对象。x和y弹簧是常量弹簧,初始化为调用此方法时组件的位置。width和height弹簧是特殊弹簧,由Spring.width()和Spring.height()方法创建,用于跟踪组件大小特性的变化。- 参数:
-
c- 此Constraints对象将反映的组件特性 - 抛出:
-
NullPointerException- 如果c为null - 自Java版本:
- 1.5
-
-
Method Details
-
setX
设置控制组件位置x值的x属性。- 参数:
-
x- 控制组件位置x值的弹簧 - 参见:
-
getX
返回x属性的值。- 返回:
-
控制组件位置
x值的弹簧 - 参见:
-
setY
设置控制组件位置y值的y属性。- 参数:
-
y- 控制组件位置y值的弹簧 - 参见:
-
getY
返回y属性的值。- 返回:
-
控制组件位置
y值的弹簧 - 参见:
-
setWidth
设置控制组件宽度的width属性。- 参数:
-
width- 控制此Constraints对象宽度的弹簧 - 参见:
-
getWidth
返回width属性的值。- 返回:
- 控制组件宽度的弹簧
- 参见:
-
setHeight
设置控制组件高度的height属性。- 参数:
-
height- 控制此Constraints对象高度的弹簧 - 参见:
-
getHeight
返回height属性的值。- 返回:
- 控制组件高度的弹簧
- 参见:
-
setConstraint
设置控制指定边缘的弹簧。边缘必须具有以下值之一:SpringLayout.NORTH、SpringLayout.SOUTH、SpringLayout.EAST、SpringLayout.WEST、SpringLayout.HORIZONTAL_CENTER、SpringLayout.VERTICAL_CENTER、SpringLayout.BASELINE、SpringLayout.WIDTH或SpringLayout.HEIGHT。对于作为边缘传递的任何其他String值,不会执行任何操作。对于null边缘,将抛出NullPointerException。注意:此方法可能会影响先前为此
Constraints设置的x和y值。- 参数:
-
edgeName- 要设置的边缘 -
s- 控制指定边缘的弹簧 - 抛出:
-
NullPointerException- 如果edgeName为null - 参见:
-
getConstraint
返回指定边缘的值,该值可能是派生值,甚至为null。 边缘必须具有以下值之一:SpringLayout.NORTH、SpringLayout.SOUTH、SpringLayout.EAST、SpringLayout.WEST、SpringLayout.HORIZONTAL_CENTER、SpringLayout.VERTICAL_CENTER、SpringLayout.BASELINE、SpringLayout.WIDTH或SpringLayout.HEIGHT。 对于作为边缘传递的任何其他String值,将返回null。 对于null边缘,抛出NullPointerException。- 参数:
-
edgeName- 要返回其值的边缘 - 返回:
-
控制指定边缘的弹簧,可能为
null - 抛出:
-
NullPointerException- 如果edgeName为null - 参见:
-