- 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
s时,可以减少到一个普通的(非复合)Spring
。 我们在Spring
s上定义“+”,“ - ”, max和min运算符,以便在每种情况下,结果都是Spring
其特征与其组成弹簧具有有用的数学关系。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我们可以用否定来定义“ - ”和min :X - Y = X + (-Y) min(X, Y) = -max(-X, -Y)
对于此类中包含算术运算符的静态方法,我们实际上并不执行有问题的操作,因为这会在调用静态方法时对方法参数的属性值进行快照。 相反,静态方法创建一个新的
Spring
实例,其中包含对方法参数的引用,以便新弹簧的特征跟踪弹簧的特征。 这有点像功能语言中的惰性值 。如果您要实现
SpringLayout
,可以在How to Use SpringLayout (Java教程中的一节)中找到更多信息和示例。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.4
- 另请参见:
-
SpringLayout
,SpringLayout.Constraints
-
-
字段汇总
字段 变量和类型 字段 描述 static int
UNSET
一个整数值,表示尚未计算属性值。
-
构造方法摘要
构造方法 变量 构造器 描述 protected
Spring()
由工厂方法用于创建Spring
。
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 static Spring
constant(int pref)
返回一个strut - 一个spring,其 minimum , preferred和 maximum值各自的值为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)
返回一个spring,其 minimum , preferred , maximum和 value属性由所提供组件的 minimumSize , preferredSize , maximumSize和 size属性的高度定义。static Spring
max(Spring s1, Spring s2)
返回max(s1, s2)
:一个spring,其值始终大于(或等于)s1
和s2
的值。static Spring
minus(Spring s)
返回-s
:弹簧以与s
相反的方向运行。static Spring
scale(Spring s, float factor)
返回一个spring,其 minimum , preferred , maximum和 value属性是参数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)
返回一个spring,其 minimum , preferred , maximum和 value属性由所提供组件的 minimumSize , preferredSize , maximumSize和 size属性的宽度定义。
-
-
-
字段详细信息
-
UNSET
public static final int UNSET
一个整数值,表示尚未计算属性值。- 另请参见:
- 常数字段值
-
-
方法详细信息
-
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 - 一个spring,其 minimum , preferred和 maximum值各自的值为pref
。- 参数
-
pref
- 新弹簧的 最小值 , 首选值和 最大值 - 结果
-
弹簧的
最小值 ,
首选值和
最大值各自具有值
pref
- 另请参见:
-
Spring
-
constant
public static Spring constant(int min, int pref, int max)
返回弹簧,其 最小 , 优选的 ,并且 最大值具有以下值:min
,pref
,和max
分别。- 参数
-
min
- 新春天的 最小值 -
pref
- 新弹簧的 首选值 -
max
- 新弹簧的 最大值 - 结果
-
一个弹簧,其
最小 ,
优选的 ,并且
最大值具有以下值:
min
,pref
,和max
分别 - 另请参见:
-
Spring
-
minus
public static Spring minus(Spring s)
返回-s
:弹簧以与s
相反的方向运行。- 参数
-
s
-Spring
对象 - 结果
-
-s
:弹簧在与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
的值 s的s1
恰好等于s3
的值 。- 参数
-
s1
-Spring
对象 -
s2
- 一个Spring
对象 - 结果
-
s1+s2
:春天代表s1
和s2
系列 - 另请参见:
-
Spring
-
max
public static Spring max(Spring s1, Spring s2)
返回max(s1, s2)
:一个spring,其值始终大于(或等于)s1
和s2
的值。- 参数
-
s1
- 一个Spring
对象 -
s2
-Spring
对象 - 结果
-
max(s1, s2)
:一个弹簧,其值始终大于(或等于)s1
和s2
的值 - 另请参见:
-
Spring
-
scale
public static Spring scale(Spring s, float factor)
返回一个spring,其minimum , preferred , maximum和value属性是参数springs
的属性的s
。 当factor
为负时(根据区间运算规则),交换最小和最大属性。例如,当因子为0.5f时,结果表示其输入的“中点” - 这对于集中容器中的组件非常有用。
- 参数
-
s
- 规模之泉 -
factor
- 按比例factor
金额。 - 结果
-
弹簧的属性是输入弹簧
s
乘以factor
弹簧 - 异常
-
NullPointerException
- 如果s
为空 - 从以下版本开始:
- 1.5
-
width
public static Spring width(Component c)
返回一个spring,其minimum , preferred , maximum和value属性由所提供组件的minimumSize , preferredSize , maximumSize和size属性的宽度定义。 返回的spring是一个“包装器”实现,其方法调用所提供组件的相应大小方法。 因此,返回弹簧的最小值,首选值,最大值和值属性会报告组件中相应属性的当前状态,并在它们更改时跟踪它们。- 参数
-
c
- 用于计算大小的组件 - 结果
- 一个弹簧,其属性由组件尺寸方法的水平分量定义。
- 异常
-
NullPointerException
- 如果c
为空 - 从以下版本开始:
- 1.5
-
height
public static Spring height(Component c)
返回一个spring,其minimum , preferred , maximum和value属性由所提供组件的minimumSize , preferredSize , maximumSize和size属性的高度定义。 返回的spring是一个“包装器”实现,其方法调用所提供组件的相应大小方法。 因此,返回弹簧的最小值,首选值,最大值和值属性会报告组件中相应属性的当前状态,并在它们更改时跟踪它们。- 参数
-
c
- 用于计算大小的组件 - 结果
- 一个弹簧,其属性由组件尺寸方法的垂直分量定义。
- 异常
-
NullPointerException
- 如果c
为空 - 从以下版本开始:
- 1.5
-
-