- java.lang.Object
-
- javax.swing.Spring
-
public abstract class Spring extends Object
Spring
类的一个实例包含三个属性,表征其行为: 最小值 , 首选值和最大值 。 这些属性中的每一个都可以参与基于一系列规则来定义其第四个, 值属性。Spring
类的一个实例可以被可视化为机械弹簧,当弹簧被压缩或拉伸远离其优选值时,其提供校正力。 该力被建模为距离优选值的距离的线性函数,但是具有两个不同的常数 - 一个用于压缩力,一个用于张力。 这些常数由弹簧的最小值和最大值指定,使得其最小值处的弹簧产生与当其处于其最大值时产生的相等和相反的力。 因此, 优选值和最小值之间的差值表示弹簧可以被压缩的容易程度,其最大值和优选值之间的差异表示可以扩展Spring
的容易程度。 有关详细信息,请参阅sum(javax.swing.Spring, javax.swing.Spring)
方法。通过在
Spring
s上定义简单的算术运算,可以将Spring
的集合的行为减少到普通(非复合)Spring
。 我们在Spring
上定义“+”,“ - ”, 最大和最小运算符,以便在每种情况下,结果是一个Spring
其特征与其组成弹簧具有有用的数学关系。A
Spring
可以被视为具有单个公共点的一对间隔:优选值。 以下规则定义了可应用于间隔的一些算术运算符([a, b]
指的是从a
到b
的间隔,其中a <= b
)。[a1, b1] + [a2, b2] = [a1 + a2, b1 + b2] -[a, b] = [-b, -a] max([a1, b1], [a2, b2]) = [max(a1, a2), max(b1, b2)]
如果我们表示
Spring
S作为[a, b, c]
,其中a <= b <= c
,我们可以定义在相同的算术运算符Spring
S:[a1, b1, c1] + [a2, b2, c2] = [a1 + a2, b1 + b2, c1 + c2] -[a, b, c] = [-c, -b, -a] max([a1, b1, c1], [a2, b2, c2]) = [max(a1, a2), max(b1, b2), max(c1, c2)]
在两个间隔和
Spring
s之间,我们可以根据Spring
定义“ - ”和最小值 :X - Y = X + (-Y) min(X, Y) = -max(-X, -Y)
对于体现算术运算符的这个类中的静态方法,我们实际上并不执行有问题的操作,因为在调用静态方法时,将快照该方法参数的属性的值。 相反,静态方法创建一个新的
Spring
实例,其中包含对方法参数的引用,以便新弹簧的特征跟踪弹簧的潜在变化特征。 这有点像功能语言中懒惰价值的想法。如果您正在实现一个
SpringLayout
您可以在“Java教程”一节中的 How to Use SpringLayout中找到更多信息和示例。警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,支持所有JavaBeans的长期存储已被添加到
java.beans
包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.4
- 另请参见:
-
SpringLayout
,SpringLayout.Constraints
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
UNSET
表示属性值尚未计算的整数值。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Spring()
用工厂方法用来创建一个Spring
。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 static Spring
constant(int pref)
返回一个strut -一个弹簧,其 最小 , 优选的 ,并且每个 最大值具有值pref
。static Spring
constant(int min, int pref, int max)
返回弹簧,其 最小 , 优选的 ,并且 最大值具有以下值:min
,pref
,和max
分别。abstract int
getMaximumValue()
返回此Spring
的 最大值 。abstract int
getMinimumValue()
返回此Spring
的 最小值 。abstract int
getPreferredValue()
返回此Spring
的 首选值。abstract int
getValue()
返回此Spring
的当前 值 。static Spring
height(Component c)
返回一个弹簧,其 最小值 , 首选 值 , 最大值和 值属性由所提供组件的 minimumSize , preferredSize , maximumSize和 size属性的高度定义。static Spring
max(Spring s1, Spring s2)
返回max(s1, s2)
:一个弹簧的值始终大于(或等于)s1
和s2
的值。static Spring
minus(Spring s)
返回-s
:一个弹簧的方向与s
相反。static Spring
scale(Spring s, float factor)
返回一个弹簧,其 最小值 , 优选 值 , 最大值和 值属性均为参数springs
的属性的s
。abstract void
setValue(int value)
将此Spring
的当前 值设置为value
。static Spring
sum(Spring s1, Spring s2)
返回s1+s2
:一个代表s1
和s2
的春天系列。static Spring
width(Component c)
返回一个弹簧,其 最小值 , 首选 值 , 最大值和 值属性由所提供组件的 minimumSize , preferredSize , maximumSize和 size属性的宽度定义。
-
-
-
字段详细信息
-
UNSET
public static final int UNSET
表示属性值尚未计算的整数值。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
getMinimumValue
public abstract int getMinimumValue()
返回此Spring
的 最小值 。- 结果
-
在
minimumValue
这个财产Spring
-
getPreferredValue
public abstract int getPreferredValue()
返回此Spring
的 首选值。- 结果
-
该
preferredValue
的这个Spring
-
getMaximumValue
public abstract int getMaximumValue()
返回此Spring
的 最大值 。- 结果
-
该
maximumValue
属性Spring
-
getValue
public abstract int getValue()
返回此Spring
的当前 值 。- 结果
-
该
value
属性此Spring
- 另请参见:
-
setValue(int)
-
setValue
public abstract void setValue(int value)
将此Spring
的当前 值设置为value
。- 参数
-
value
- 新设置的value
属性 - 另请参见:
-
getValue()
-
constant
public static Spring constant(int pref)
返回一个strut -一个弹簧,其 最小 , 优选的 ,并且每个 最大值具有值pref
。- 参数
-
pref
- 新弹簧的 最小值 , 优选值和 最大值 - 结果
-
其
最小值 ,
优选值和
最大值
pref
- 另请参见:
-
Spring
-
constant
public static Spring constant(int min, int pref, int max)
返回弹簧,其 最小 , 优选的 ,并且 最大值具有以下值:min
,pref
,和max
分别。- 参数
-
min
- 新弹簧的 最小值 -
pref
-pref
的 首选值 -
max
- 新弹簧的 最大值 - 结果
-
一个弹簧,其
最小 ,
优选的 ,并且
最大值具有以下值:
min
,pref
,和max
分别 - 另请参见:
-
Spring
-
minus
public static Spring minus(Spring s)
返回-s
:一个与s
相反方向运行的弹簧。- 参数
-
s
- aSpring
对象 - 结果
-
-s
:一个弹簧在s
的相反方向运行 - 另请参见:
-
Spring
-
sum
public static Spring sum(Spring s1, Spring s2)
返回s1+s2
:一个弹簧代表s1
和s2
串联。 在一个总和,s3
,两个弹簧,的s1
和s2
,的菌株s1
,s2
,和s3
被保持在相同的水平(由它们的整数值 s隐含的精度内)。 压缩弹簧的应变是:value - pref ------------ pref - min
张力弹簧的应变是:value - pref ------------ max - pref
当setValue
上调用的总和弹簧,s3
,在应变s3
使用上面公式中的一个来计算。 一旦和的应变已知,则设置值为s1
和s2
,使得它们具有等于和的应变。 式进行评估,以便采取舍入误差考虑在内,并确保的值 s的总和s1
和s2
正好等于的值s3
。- 参数
-
s1
- 一个Spring
对象 -
s2
- 一个Spring
对象 - 结果
-
s1+s2
:一个代表s1
和s2
的春天系列 - 另请参见:
-
Spring
-
max
public static Spring max(Spring s1, Spring s2)
返回max(s1, s2)
:一个弹簧的值始终大于(或等于)s1
和s2
的值。- 参数
-
s1
- 一个Spring
对象 -
s2
- 一个Spring
对象 - 结果
-
max(s1, s2)
:一个弹簧的值总是大于(或等于)s1
和s2
的值 - 另请参见:
-
Spring
-
scale
public static Spring scale(Spring s, float factor)
返回一个弹簧,其最小值 , 优选 值 , 最大值和值属性都是参数spring属性的倍数,s
。 当factor
为负时,按照间隔算术的规则,交换最小和最大属性。当因素例如为0.5f时,结果表示其输入的“中点” - 这对于将容器中的组件置于中心是有用的操作。
- 参数
-
s
- 春天的规模 -
factor
- 按比例计算。 - 结果
-
弹簧的特性是输入弹簧
s
乘以factor
弹簧 - 异常
-
NullPointerException
- 如果s
为空 - 从以下版本开始:
- 1.5
-
width
public static Spring width(Component c)
返回一个弹簧,其最小值 , 首选 值 , 最大值和值属性由所提供组件的minimumSize , preferredSize , maximumSize和size属性的宽度定义。 返回的spring是一个'wrapper'实现,它的方法调用了提供的组件的适当大小的方法。 因此,返回的弹簧的最小值,优选值,最大值和值属性报告组件中适当属性的当前状态,并在它们发生变化时跟踪它们。- 参数
-
c
- 用于计算大小的组件 - 结果
- 一个弹簧,其属性由组件尺寸方法的水平分量定义。
- 异常
-
NullPointerException
- 如果c
为空 - 从以下版本开始:
- 1.5
-
height
public static Spring height(Component c)
返回一个弹簧,其最小值 , 首选 值 , 最大值和值属性由所提供组件的minimumSize , preferredSize , maximumSize和size属性的高度定义。 返回的spring是一个'wrapper'实现,它的方法调用了提供的组件的适当大小的方法。 因此,返回的弹簧的最小值,优选值,最大值和值属性报告组件中适当属性的当前状态,并在它们发生变化时跟踪它们。- 参数
-
c
- 用于计算大小的组件 - 结果
- 一个弹簧,其属性由组件尺寸方法的垂直分量定义。
- 异常
-
NullPointerException
- 如果c
为空 - 从以下版本开始:
- 1.5
-
-