public static class SpringLayout.Constraints extends Object
Constraints
对象包含控制由SpringLayout控制的容器中组件的大小和位置更改方式的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 documentation
spring算法的更多细节。
因为Constraints
对象的属性 - 表示其边缘,大小和位置 - 可以独立设置,并且相互关联,所以Constraints
对象可能会变得过度约束 。 例如,如果WEST
, WIDTH
和EAST
边缘都设置,必须采取步骤以确保所述第一公式的上述成立。 为此, Constraints
对象会抛出最近设置的限制,以使公式成立。
Constructor and Description |
---|
Constraints()
创建一个空的
Constraints 对象。
|
Constraints(Component c)
创建
Constraints 与合适的物体
x ,
y ,
width 和
height 弹簧用于组分,
c 。
|
Constraints(Spring x, Spring y)
创建
Constraints 具有用于其指定的值对象
x 种
y 性质。
|
Constraints(Spring x, Spring y, Spring width, Spring height)
创建
Constraints 具有用于其指定的值对象
x ,
y ,
width 和
height 性质。
|
Modifier and Type | Method and Description |
---|---|
Spring |
getConstraint(String edgeName)
返回指定边的值,可以是派生值,甚至是
null 。
|
Spring |
getHeight()
返回
height 属性的值。
|
Spring |
getWidth()
返回值为
width 属性。
|
Spring |
getX()
返回
x 属性的值。
|
Spring |
getY()
返回
y 属性的值。
|
void |
setConstraint(String edgeName, Spring s)
设置弹簧控制指定的边缘。
|
void |
setHeight(Spring height)
设置
height 属性,它控制组件的高度。
|
void |
setWidth(Spring width)
设置
width 属性,它控制组件的宽度。
|
void |
setX(Spring x)
设置
x 属性,它控制组件位置的
x 值。
|
void |
setY(Spring y)
设置
y 属性,它控制组件位置的
y 值。
|
public Constraints()
Constraints
对象。
public Constraints(Spring x, Spring y)
Constraints
对象,其具有x
和y
属性的指定值。
height
和width
弹簧有null
值。
x
- 弹簧控制组件的
x值
y
- 弹簧控制组件的
y值
public Constraints(Spring x, Spring y, Spring width, Spring height)
Constraints
具有用于其指定的值对象x
, y
, width
和height
性质。
注意:如果SpringLayout
类在给定组件的Constraints
对象中遇到null
值,则使用合适的默认值替换它们。
x
-
x
属性的弹簧值
y
-
y
属性的spring值
width
-
width
属性的spring值
height
- spring的值为
height
属性
public Constraints(Component c)
Constraints
与合适的物体x
, y
, width
和height
弹簧用于组分, c
。
x
和y
弹簧是在调用该方法时初始化组件位置的恒定弹簧。
width
和height
弹簧是由Spring.width()
和Spring.height()
方法创建的特殊弹簧,可以跟踪组件更改时的尺寸特征。
c
- 其特性将被该约束对象反映的组件
NullPointerException
- 如果
c
为空。
public void setX(Spring x)
x
属性,它控制组件位置的
x
值。
x
- 弹簧控制组件位置的
x
值
getX()
, SpringLayout.Constraints
public Spring getX()
x
属性的值。
x
值
setX(javax.swing.Spring)
, SpringLayout.Constraints
public void setY(Spring y)
y
属性,它控制组件位置的
y
值。
y
- 弹簧控制组件位置的
y
值
getY()
, SpringLayout.Constraints
public Spring getY()
y
属性的值。
y
值
setY(javax.swing.Spring)
, SpringLayout.Constraints
public void setWidth(Spring width)
width
属性,它控制组件的宽度。
width
- 弹簧控制这个
Constraints
对象的宽度
getWidth()
, SpringLayout.Constraints
public Spring getWidth()
width
属性的值。
setWidth(javax.swing.Spring)
, SpringLayout.Constraints
public void setHeight(Spring height)
height
属性,它控制组件的高度。
height
- 弹簧控制这个
Constraints
对象的高度
getHeight()
, SpringLayout.Constraints
public Spring getHeight()
height
属性的值。
setHeight(javax.swing.Spring)
, SpringLayout.Constraints
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
或SpringLayout.HEIGHT
。
对于作为边缘传递的任何其他String
值,不执行任何操作。
对于null
边缘,抛出NullPointerException
。
注:此方法可以影响x
个y
以前为此设定值Constraints
。
edgeName
- 要设置的边
s
- 弹簧控制指定的边缘
NullPointerException
- 如果
edgeName
是
null
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
public Spring getConstraint(String edgeName)
null
。
边缘必须具有以下值之一: SpringLayout.NORTH
, SpringLayout.SOUTH
, SpringLayout.EAST
, SpringLayout.WEST
, SpringLayout.HORIZONTAL_CENTER
, SpringLayout.VERTICAL_CENTER
, SpringLayout.BASELINE
, SpringLayout.WIDTH
或SpringLayout.HEIGHT
。
对于任何其他String
价值作为边缘, null
将被退回。
抛出NullPointerException
为null
的边缘。
edgeName
- 要返回其值的边
null
NullPointerException
- 如果
edgeName
是
null
setConstraint(java.lang.String, javax.swing.Spring)
, SpringLayout.NORTH
, SpringLayout.SOUTH
, SpringLayout.EAST
, SpringLayout.WEST
, SpringLayout.HORIZONTAL_CENTER
, SpringLayout.VERTICAL_CENTER
, SpringLayout.BASELINE
, SpringLayout.WIDTH
, SpringLayout.HEIGHT
, SpringLayout.Constraints