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
ConstructorDescription创建一个空的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
属性的值。void
setConstraint
(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
- 参见:
-