|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.Spring
public abstract class Spring
該 Spring
類別的實例將存儲以下三個表示其行為特徵的屬性:minimum、preferred 和 maximum 值。根據一系列規則定義其第四個 value 屬性時可能涉及其中每一個屬性。
該 Spring
類別的實例就像從其首選值進行壓縮或伸展的 spring 一樣,顯示為一個提供回復力的機械彈簧。此回復力被建模為從首選值開始的距離的線性函數,但有兩個不同的常數 - 一個是壓縮力常數,一個是張力常數。這些常數由 spring 的最小值和最大值指定,這樣處於最小值的 spring 產生一個與其處於最大值時創建的力相等且相對的力。因此,preferred 和 minimum 值之間的區別表示使用該值壓縮 spring 的容易性,其 maximum 和 preferred 值之間的區別指示使用該值擴展 Spring
的容易性。有關詳細資訊,請參閱 sum(javax.swing.Spring, javax.swing.Spring)
方法。
通過在 Spring
上定義簡單的算術運算,可以將 Spring
集合的行為減少到普通(非復合)Spring
的行為。我們在 Spring
上定義 "+"、"-"、max 和 min 運算符,以便每種情況下的結果都是一個 Spring
,其特徵是將一個有用的數學關係用於其組成的 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
表示為 [a, b, c]
(其中 a <= b <= c
),則我們可以在 Spring
上定義以下相同的算術運算符:
[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
,我們可以根據以下相反數定義 "-" 和 min:
X - Y = X + (-Y) min(X, Y) = -max(-X, -Y)
對於此類別中包含算術運算符的靜態方法,我們不會像在調用此靜態方法時對該方法參數的屬性值進行快照一樣實際執行相關的操作。相反,該靜態方法創建一個新 Spring
實例,該實例包含對該方法參數的參考,以便新 spring 的特徵追蹤原來產生它的 spring 的潛在不斷變化的特徵。這有點類似於函數性語言中 lazy value 的概念。
如果您正在實作一個 SpringLayout
,則可以在 The Java Tutorial 中的 How to Use SpringLayout 一節找到更詳細的資訊和範例。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
SpringLayout
,
SpringLayout.Constraints
欄位摘要 | |
---|---|
static int |
UNSET
一個表示屬性值尚未計算的整數值。 |
建構子摘要 | |
---|---|
protected |
Spring()
由處理器方法創建 Spring 時使用。 |
方法摘要 | |
---|---|
static Spring |
constant(int pref)
返回一個 strut -- 一個其 minimum、preferred 和 maximum 值每個都有值 pref 的 spring。 |
static Spring |
constant(int min,
int pref,
int max)
返回一個其 minimum、preferred 和 maximum 值具有以下值的 spring:分別是 min 、pref 和 max 。 |
abstract int |
getMaximumValue()
返回此 Spring 的 maximum 值。 |
abstract int |
getMinimumValue()
返回此 Spring 的 minimum 值。 |
abstract int |
getPreferredValue()
返回此 Spring 的 preferred 值。 |
abstract int |
getValue()
返回此 Spring 的當前 value。 |
static Spring |
height(Component c)
返回一個 spring,其 minimum、preferred、maximum 和 value 屬性由所提供元件的 minimumSize、preferredSize、maximumSize 和 size 屬性的高度定義。 |
static Spring |
max(Spring s1,
Spring s2)
返回 max(s1, s2) :一個其值始終大於(或等於)s1 加 s2 的值的 spring。 |
static Spring |
minus(Spring s)
返回 -s :一個以與 s 相反方向運行的 spring。 |
static Spring |
scale(Spring s,
float factor)
返回一個 spring,其 minimum、preferred、maximum 和 value 屬性都是參數 spring s 的屬性的倍數。 |
abstract void |
setValue(int value)
將此 Spring 的當前 value 設置為 value 。 |
static Spring |
sum(Spring s1,
Spring s2)
返回 s1+s2 :一個連續表示 s1 和 s2 的 spring。 |
static Spring |
width(Component c)
返回一個 spring,其 minimum、preferred、maximum 和 value 屬性由所提供元件的 minimumSize、preferredSize、maximumSize 和 size 屬性的寬度定義。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int UNSET
建構子詳細資訊 |
---|
protected Spring()
Spring
時使用。
constant(int)
,
constant(int, int, int)
,
max(javax.swing.Spring, javax.swing.Spring)
,
minus(javax.swing.Spring)
,
sum(javax.swing.Spring, javax.swing.Spring)
,
SpringLayout.Constraints
方法詳細資訊 |
---|
public abstract int getMinimumValue()
Spring
的 minimum 值。
Spring
的 minimumValue
屬性public abstract int getPreferredValue()
Spring
的 preferred 值。
Spring
的 preferredValue
public abstract int getMaximumValue()
Spring
的 maximum 值。
Spring
的 maximumValue
屬性public abstract int getValue()
Spring
的當前 value。
Spring
的 value
屬性setValue(int)
public abstract void setValue(int value)
Spring
的當前 value 設置為 value
。
value
- 該 value
屬性的新設置值getValue()
public static Spring constant(int pref)
pref
的 spring。
pref
- 該新 spring 的 minimum、preferred 和 maximum 值
pref
的 springSpring
public static Spring constant(int min, int pref, int max)
min
、pref
和 max
。
min
- 新 spring 的 minimum 值pref
- 新 spring 的 preferred 值max
- 新 spring 的 maximum 值
min
、pref
和 max
Spring
public static Spring minus(Spring s)
-s
:一個以與 s
相反方向運行的 spring。
-s
:一個以與 s
相反方向運行的 springSpring
public static Spring sum(Spring s1, Spring s2)
s1+s2
:一個連續表示 s1
和 s2
的 spring。從總數上說,s3
等於兩個 spring s1
和 s2
,s1
、s2
和 s3
的 strains 在同一個級別(它們的整數 value 暗示的精度內)上進行維護。壓縮形式下的 spring 的 strain 為:
value - pref ------------ pref - min伸展形式下的 spring 的 strain 為:
value - pref ------------ max - pref在對總共 spring(也即
s3
)調用 setValue
時,使用上述某個公式計算 s3
中的 strain。一旦知道了總共的 strain,就能設置 s1
和 s2
的 value,以使它們的 strain 與總共的 strain 相等。對這些公式進行評詁,以便將捨入錯誤考慮在內並確保 s1
和 s2
的 value 值的總和正好與 s3
的 value 相等。
s1+s2
:一個連續表示 s1
和 s2
的 springSpring
public static Spring max(Spring s1, Spring s2)
max(s1, s2)
:一個其值始終大於(或等於)s1
加 s2
的值的 spring。
max(s1, s2)
:一個其值始終大於(或等於)s1
加 s2
的值的 springSpring
public static Spring scale(Spring s, float factor)
s
的屬性的倍數。當 factor
為負(根據間隔演算法規則)時,Minimum 和 maximum 屬性可以交換。
例如,當因子為 0.5f 時,該結果表示此輸入的“中點” - 一種對居中容器中元件很有用的操作。
s
- 要縮放的 springfactor
- 要縮放的量。
s
乘以 factor
得到的值
NullPointerException
- 如果 s
為 nullpublic static Spring width(Component c)
c
- 用於計算大小的元件
NullPointerException
- 如果 c
為 nullpublic static Spring height(Component c)
c
- 用於計算大小的元件
NullPointerException
- 如果 c
為 null
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。