|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.Spring
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 の考え方に似ています。
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 値がそれぞれ min 、pref 、および max の値を持つスプリングを返します。 |
abstract int |
getMaximumValue()
Spring の preferred 値を返します。 |
abstract int |
getMinimumValue()
Spring の minimum 値を返します。 |
abstract int |
getPreferredValue()
Spring の preferred 値を返します。 |
abstract int |
getValue()
Spring の現在の value 値を返します。 |
static Spring |
max(Spring s1,
Spring s2)
常に s1 と s2 のどちらよりも大きいか等しい値を持つスプリング 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)
s1 と s2 の並列接続を表すスプリング s1+s2 を返します。 |
クラス 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
の minimumValue
public abstract int getMaximumValue()
Spring
の preferred 値を返します。
Spring
の minimumValue
プロパティ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
の値を持つスプリングです。
pref
- 新しいスプリングの minimum 値、preferred 値、および maximum 値
pref
の値を持つスプリングSpring
public static Spring constant(int min, int pref, int max)
min
、pref
、および max
の値を持つスプリングを返します。
min
- 新しいスプリングの minimum 値pref
- 新しいスプリングの preferred 値max
- 新しいスプリングの maximum 値
min
、pref
、および max
の値を持つスプリングSpring
public static Spring minus(Spring s)
s
と反対方向に動くスプリング -s
を返します。
s
と反対方向に動くスプリング -s
Spring
public static Spring sum(Spring s1, Spring s2)
s1
と s2
の並列接続を表すスプリング s1+s2
を返します。2 つのスプリング s1
と s2
の sum である s3
では、s1
、s2
、および s3
の力は、整数 value の精度内で同じレベルに維持されます。圧縮時のスプリングの力は、次のようになります。
value - pref ------------ pref - min引っ張られているときのスプリングの力は、次のようになります。
value - pref ------------ max - pref
setValue
が sum スプリング s3
で呼び出されると、s3
の力は上記のどれかの式を使って計算されます。sum の力が算出されると、s1
と s2
の value は sum の力と等しくなるように設定されます。式の評価には丸め誤差が考慮され、s1
と s2
の value の sum は s3
の value と正確に等しくなります。
s1
と s2
の直列接続を表すスプリング s1+s2
Spring
public static Spring max(Spring s1, Spring s2)
s1
と s2
のどちらよりも大きいか等しい値を持つスプリング max(s1, s2)
を返します。
s1
と s2
のどちらよりも大きいか等しい値を持つスプリング max(s1, s2)
Spring
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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.