JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing
クラス Spring

java.lang.Object
  |
  +--javax.swing.Spring

public abstract class Spring
extends Object

Spring クラスのインスタンスには、動作の特性を与える minimum 値、preferred 値、および maximum 値の 3 つのプロパティが保持されます。各プロパティは、一連の規則に基づいて 4 番目のプロパティである value の定義に含まれることもあります。

Spring クラスのインスタンスは、機械的なスプリングと同様に矯正する力を受けて、優先値 (preferred 値) を基準に圧縮されたり引き伸ばされたりします。矯正力は、優先値からの距離の 1 次関数としてモデル化されていますが、圧縮する力と引き伸ばす力に対応する 2 つの定数が含まれます。定数は、最小値 (minimum 値) と最大値 (maximum 値) です。スプリングが最小値の状態から生成する力は、最大値の状態から生成する力と大きさが等しく、反対方向となります。したがって、preferred 値と minimum 値の差は Spring の圧縮しやすさを表し、maximum 値と preferred 値の差は引き伸ばしやすさを表します。詳細については、sum(javax.swing.Spring, javax.swing.Spring) メソッド を参照してください。

Spring で簡単な算術演算を定義することにより、Spring のコレクションの動作を、通常の (複合ではない) Spring の動作と同じレベルまで削減できます。Spring には「+」、「-」、「max」、および「min」の演算子が定義されているため、それぞれ、構成するスプリングに対する数学的操作が容易になっています。

Spring は、共通点である優先値 (preferred 値) に対する 1 組の間隔として扱うことができます。間隔に適用できる算術演算子は、次のような規則によって定義されます。[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 インスタンスが作成されるため、作成元のスプリングの特性のうち変更される可能性のある特性は、新しいスプリングの特性によって追跡されます。これは、関数型言語の lazy value の考え方に似ています。

導入されたバージョン:
1.4
関連項目:
SpringLayout, SpringLayout.Constraints

フィールドの概要
static int UNSET
          プロパティ値が計算されていないことを示す整数値です。
 
コンストラクタの概要
protected Spring()
          Spring を作成するためにファクトリメソッドが使用します。
 
メソッドの概要
static Spring constant(int pref)
          柱を返します。
static Spring constant(int min, int pref, int max)
          minimum 値、preferred 値、および maximum 値がそれぞれ minpref、および max の値を持つスプリングを返します。
abstract  int getMaximumValue()
          Springpreferred 値を返します。
abstract  int getMinimumValue()
          Springminimum 値を返します。
abstract  int getPreferredValue()
          Springpreferred 値を返します。
abstract  int getValue()
          Spring の現在の value 値を返します。
static Spring max(Spring s1, Spring s2)
          常に s1s2 のどちらよりも大きいか等しい値を持つスプリング max(s1, s2) を返します。
static Spring minus(Spring s)
          スプリング s と反対方向に動くスプリング -s を返します。
abstract  void setValue(int value)
          Spring の現在の value 値を value に設定します。
static Spring sum(Spring s1, Spring s2)
          s1s2の並列接続を表すスプリング s1+s2 を返します。
 
クラス 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()
Springminimum 値を返します。

戻り値:
SpringminimumValue プロパティ

getPreferredValue

public abstract int getPreferredValue()
Springpreferred 値を返します。

戻り値:
SpringminimumValue

getMaximumValue

public abstract int getMaximumValue()
Springpreferred 値を返します。

戻り値:
SpringminimumValue プロパティ

getValue

public abstract int getValue()
Spring の現在の value 値を返します。

戻り値:
SpringValue プロパティ
関連項目:
setValue(int)

setValue

public abstract void setValue(int value)
Spring の現在の value 値を value に設定します。

パラメータ:
value - value プロパティの新しい設定
関連項目:
getValue()

constant

public static Spring constant(int pref)
柱を返します。柱とは、minimum 値、preferred 値、および maximum 値がすべて pref の値を持つスプリングです。

パラメータ:
pref - 新しいスプリングの minimum 値、preferred 値、および maximum
戻り値:
minimum 値、preferred 値、および maximum 値がすべて pref の値を持つスプリング
関連項目:
Spring

constant

public static Spring constant(int min,
                              int pref,
                              int max)
minimum 値、preferred 値、および maximum 値がそれぞれ minpref、および max の値を持つスプリングを返します。

パラメータ:
min - 新しいスプリングの minimum
pref - 新しいスプリングの preferred
max - 新しいスプリングの maximum
戻り値:
minimum 値、preferred 値、および maximum 値がそれぞれ minpref、および max の値を持つスプリング
関連項目:
Spring

minus

public static Spring minus(Spring s)
スプリング s と反対方向に動くスプリング -s を返します。

戻り値:
スプリング s と反対方向に動くスプリング -s
関連項目:
Spring

sum

public static Spring sum(Spring s1,
                         Spring s2)
s1s2の並列接続を表すスプリング s1+s2 を返します。2 つのスプリング s1s2 の sum である s3 では、s1s2、および s3 の力は、整数 value の精度内で同じレベルに維持されます。圧縮時のスプリングの力は、次のようになります。
value - pref
         ------------
pref - min
引っ張られているときのスプリングの力は、次のようになります。
value - pref
         ------------
max - pref
setValue が sum スプリング s3 で呼び出されると、s3 の力は上記のどれかの式を使って計算されます。sum の力が算出されると、s1s2value は sum の力と等しくなるように設定されます。式の評価には丸め誤差が考慮され、s1s2value の sum は s3value と正確に等しくなります。

戻り値:
s1s2 の直列接続を表すスプリング s1+s2
関連項目:
Spring

max

public static Spring max(Spring s1,
                         Spring s2)
常に s1s2 のどちらよりも大きいか等しい値を持つスプリング max(s1, s2) を返します。

戻り値:
常に s1s2 のどちらよりも大きいか等しい値を持つスプリング max(s1, s2)
関連項目:
Spring

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.