JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 Spring

java.lang.Object
  繼承者 javax.swing.Spring

public abstract class Spring
extends Object

該 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。

從以下版本開始:
1.4
另請參見:
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
 

欄位詳細資訊

UNSET

public static final int UNSET
一個表示屬性值尚未計算的整數值。

另請參見:
常數欄位值
建構子詳細資訊

Spring

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
方法詳細資訊

getMinimumValue

public abstract int getMinimumValue()
返回此 Spring 的 minimum 值。

返回:
此 Spring 的 minimumValue 屬性

getPreferredValue

public abstract int getPreferredValue()
返回此 Spring 的 preferred 值。

返回:
此 Spring 的 preferredValue

getMaximumValue

public abstract int getMaximumValue()
返回此 Spring 的 maximum 值。

返回:
此 Spring 的 maximumValue 屬性

getValue

public abstract int getValue()
返回此 Spring 的當前 value。

返回:
此 Spring 的 value 屬性
另請參見:
setValue(int)

setValue

public abstract void setValue(int value)
將此 Spring 的當前 value 設置為 value。

參數:
value - 該 value 屬性的新設置值
另請參見:
getValue()

constant

public static Spring constant(int pref)
返回一個 strut -- 一個其 minimum、preferred 和 maximum 值每個都有值 pref 的 spring。

參數:
pref - 該新 spring 的 minimum、preferred 和 maximum 值
返回:
一個其 minimum、preferred 和 maximum 值每個都有值 pref 的 spring
另請參見:
Spring

constant

public static Spring constant(int min,
                              int pref,
                              int max)
返回一個其 minimum、preferred 和 maximum 值具有以下值的 spring:分別是 min、pref 和 max。

參數:
min - 新 spring 的 minimum 值
pref - 新 spring 的 preferred 值
max - 新 spring 的 maximum 值
返回:
一個其 minimum、preferred 和 maximum 值具有以下值的 spring:分別是 min、pref 和 max
另請參見:
Spring

minus

public static Spring minus(Spring s)
返回 -s:一個以與 s 相反方向運行的 spring。

返回:
-s:一個以與 s 相反方向運行的 spring
另請參見:
Spring

sum

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 的 spring
另請參見:
Spring

max

public static Spring max(Spring s1,
                         Spring s2)
返回 max(s1, s2):一個其值始終大於(或等於)s1 加 s2 的值的 spring。

返回:
max(s1, s2):一個其值始終大於(或等於)s1 加 s2 的值的 spring
另請參見:
Spring

scale

public static Spring scale(Spring s,
                           float factor)
返回一個 spring,其 minimum、preferred、maximum 和 value 屬性都是參數 spring s 的屬性的倍數。當 factor 為負(根據間隔演算法規則)時,Minimum 和 maximum 屬性可以交換。

例如,當因子為 0.5f 時,該結果表示此輸入的“中點” - 一種對居中容器中元件很有用的操作。

參數:
s - 要縮放的 spring
factor - 要縮放的量。
返回:
一個 spring,其屬性為輸入 spring s 乘以 factor 得到的值
拋出:
NullPointerException - 如果 s 為 null
從以下版本開始:
1.5

width

public static Spring width(Component c)
返回一個 spring,其 minimum、preferred、maximum 和 value 屬性由所提供元件的 minimumSize、preferredSize、maximumSize 和 size 屬性的寬度定義。返回的 spring 是一個“外覆器”實作,其方法調用所提供元件的適當大小方法。因此,返回的 spring 的最小、首選、最大和值屬性將報告元件中適當屬性的當前狀態,並在它們發生更改時進行追蹤。

參數:
c - 用於計算大小的元件
返回:
一個 spring,其屬性由該元件大小方法的水平元件定義。
拋出:
NullPointerException - 如果 c 為 null
從以下版本開始:
1.5

height

public static Spring height(Component c)
返回一個 spring,其 minimum、preferred、maximum 和 value 屬性由所提供元件的 minimumSize、preferredSize、maximumSize 和 size 屬性的高度定義。返回的 spring 是一個“外覆器”實作,其方法調用所提供元件的適當大小方法。因此,返回的 spring 的最小、首選、最大和值屬性將報告元件中適當屬性的當前狀態,並在它們發生更改時進行追蹤。

參數:
c - 用於計算大小的元件
返回:
一個 spring,其屬性由該元件大小方法的垂直元件定義。
拋出:
NullPointerException - 如果 c 為 null
從以下版本開始:
1.5

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。