public abstract class Spring extends Object
Spring
クラスのインスタンスは、その動作を特徴付ける3つのプロパティ(値はminimum、preferred、およびmaximum)を保持します。 各プロパティは、一連の規則に基づいて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
は構成するスプリングに対する数学的操作が容易になっています。
Spring
は、共通点である推奨値(preferred値)を持つ一組の間隔として扱うことができます。 間隔に適用できる算術演算子は、次のような規則によって定義されます。[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
インスタンスが作成されるため、作成元のスプリングの特性のうち変更される可能性のある特性は、新しいスプリングの特性によって追跡されます。 これは、関数型言語のlazy valueの考え方に似ています。
SpringLayout
を実装している場合、詳細な情報と例については、『The Java Tutorial』の「How to Use SpringLayout」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beans
パッケージに追加されました。 XMLEncoder
を参照してください。
- 導入されたバージョン:
- 1.4
- 関連項目:
SpringLayout
,SpringLayout.Constraints
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static int
UNSET
プロパティ値が計算されていないことを示す整数値です。 -
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
Spring()
Spring
を作成するためにファクトリ・メソッドが使用します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 static Spring
constant(int pref)
柱(minimum値、preferred値、およびmaximum値がすべて値pref
を持つスプリング)を返します。static Spring
constant(int min, int pref, int max)
minimum値、preferred値、およびmaximum値がそれぞれ値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)
minimum、preferred、maximum、およびvalueの各プロパティが、それぞれ指定されたコンポーネントのminimumSize、preferredSize、maximumSize、およびsizeの各プロパティの高さで定義されているスプリングを返します。static Spring
max(Spring s1, Spring s2)
常にs1
とs2
のいずれよりも大きいか等しい値を持つスプリングmax(s1, s2)
を返します。static Spring
minus(Spring s)
s
と反対方向に動くスプリング-s
を返します。static Spring
scale(Spring s, float factor)
minimum、preferred、maximum、およびvalueの各プロパティが引数スプリングs
のプロパティの倍数になっているスプリングを返します。abstract void
setValue(int value)
このSpring
の現在の値をvalue
に設定します。static Spring
sum(Spring s1, Spring s2)
s1
とs2
の直列接続を表すスプリングs1+s2
を返します。static Spring
width(Component c)
minimum、preferred、maximum、およびvalueの各プロパティが、それぞれ指定されたコンポーネントのminimumSize、preferredSize、maximumSize、およびsizeの各プロパティの幅で定義されているスプリングを返します。
-
フィールド詳細
-
UNSET
public static final int UNSETプロパティ値が計算されていないことを示す整数値です。- 関連項目:
- 定数フィールド値
-
-
コンストラクタの詳細
-
Spring
protected Spring()Spring
を作成するためにファクトリ・メソッドが使用します。
-
-
メソッドの詳細
-
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
プロパティの新しい設定- 関連項目:
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値がそれぞれ値min
、pref
、およびmax
を持つスプリングを返します。- パラメータ:
min
- 新しいスプリングのminimum値pref
- 新しいスプリングのpreferred値max
- 新しいスプリングのmaximum値- 戻り値:
- minimum値、preferred値、およびmaximum値がそれぞれ値
min
、pref
、およびmax
を持つスプリング - 関連項目:
Spring
-
minus
s
と反対方向に動くスプリング-s
を返します。- パラメータ:
s
-Spring
オブジェクト- 戻り値:
- スプリング
s
と反対方向に動くスプリング-s
- 関連項目:
Spring
-
sum
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
-Spring
オブジェクトs2
-Spring
オブジェクト- 戻り値:
s1
とs2
の直列接続を表すスプリングs1+s2
- 関連項目:
Spring
-
max
常にs1
とs2
のいずれよりも大きいか等しい値を持つスプリングmax(s1, s2)
を返します。- パラメータ:
s1
-Spring
オブジェクトs2
-Spring
オブジェクト- 戻り値:
- 常に
s1
とs2
の両方よりも大きいか等しい値を持つスプリングmax(s1, s2)
- 関連項目:
Spring
-
scale
minimum、preferred、maximum、およびvalueの各プロパティが引数スプリングs
のプロパティの倍数になっているスプリングを返します。factor
が負の値(間隔の算術式の規則に従って)の場合、最大値と最小値のプロパティは入れ替わります。たとえば、係数が0.5fの場合、結果はその入力値の「中間点」を表し、コンテナ内でコンポーネントを中央に配置するのに役立ちます。
- パラメータ:
s
- スケーリングするスプリングfactor
- スケーリングの量。- 戻り値:
- プロパティが、入力スプリング
s
のプロパティにfactor
をかけた値になっているスプリング - 例外:
NullPointerException
-s
がnullである場合- 導入されたバージョン:
- 1.5
-
width
minimum、preferred、maximum、およびvalueの各プロパティが、それぞれ指定されたコンポーネントのminimumSize、preferredSize、maximumSize、およびsizeの各プロパティの幅で定義されているスプリングを返します。 返されるスプリングは「ラッパー」の実装であり、そのメソッドによって、指定されたコンポーネントのそれぞれのサイズ・メソッドが呼び出されます。 したがって、返されたスプリングの最大値、推奨値、最小値、および値の各プロパティによって、コンポーネントのそれぞれのプロパティの現在の状態が報告され、それらのプロパティが変更に伴って追跡されます。- パラメータ:
c
- サイズの計算に使用されるコンポーネント- 戻り値:
- プロパティが、コンポーネントのサイズ・メソッドの水平方向のコンポーネントによって定義されているスプリング。
- 例外:
NullPointerException
-c
がnullである場合- 導入されたバージョン:
- 1.5
-
height
minimum、preferred、maximum、およびvalueの各プロパティが、それぞれ指定されたコンポーネントのminimumSize、preferredSize、maximumSize、およびsizeの各プロパティの高さで定義されているスプリングを返します。 返されるスプリングは「ラッパー」の実装であり、そのメソッドによって、指定されたコンポーネントのそれぞれのサイズ・メソッドが呼び出されます。 したがって、返されたスプリングの最大値、推奨値、最小値、および値の各プロパティによって、コンポーネントのそれぞれのプロパティの現在の状態が報告され、それらのプロパティが変更に伴って追跡されます。- パラメータ:
c
- サイズの計算に使用されるコンポーネント- 戻り値:
- プロパティが、コンポーネントのサイズ・メソッドの垂直方向のコンポーネントによって定義されているスプリング。
- 例外:
NullPointerException
-c
がnullである場合- 導入されたバージョン:
- 1.5
-