JavaTM 2 Platform
Standard Ed. 5.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 の考え方に似ています。

SpringLayout を実装している場合、詳細な情報と例については、「The Java Tutorial」「How to Use SpringLayout」を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。

導入されたバージョン:
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()
          Springmaximum 値を返します。
abstract  int getMinimumValue()
          Springminimum 値を返します。
abstract  int getPreferredValue()
          Springpreferred 値を返します。
abstract  int getValue()
          Spring の現在の value 値を返します。
static Spring height(Component c)
          minimumpreferredmaximum、および value の各プロパティが、指定されたコンポーネントの minimumSizepreferredSizemaximumSize、および size の各プロパティの高さによって定義されるスプリングを返します。
static Spring max(Spring s1, Spring s2)
          常に s1s2 のどちらよりも大きいか等しい値を持つスプリング max(s1, s2) を返します。
static Spring minus(Spring s)
          スプリング s と反対方向に動くスプリング -s を返します。
static Spring scale(Spring s, float factor)
          minimumpreferredmaximum、および value プロパティがそれぞれ引数スプリング s のプロパティの倍数であるスプリングを返します。
abstract  void setValue(int value)
          Spring の現在の value 値を value に設定します。
static Spring sum(Spring s1, Spring s2)
          s1s2の並列接続を表すスプリング s1+s2 を返します。
static Spring width(Component c)
          minimumpreferredmaximum、および value の各プロパティが、指定されたコンポーネントの minimumSizepreferredSizemaximumSize、および 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()
Springminimum 値を返します。

戻り値:
SpringminimumValue プロパティ

getPreferredValue

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

戻り値:
SpringpreferredValue

getMaximumValue

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

戻り値:
SpringmaximumValue プロパティ

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

scale

public static Spring scale(Spring s,
                           float factor)
minimumpreferredmaximum、および value プロパティがそれぞれ引数スプリング s のプロパティの倍数であるスプリングを返します。factor が負の値 (間隔の算術式の規則に従って) の場合、最大値と最小値のプロパティは入れ替わります。

たとえば、係数が 0.5f の場合、結果はその入力値の「中間点」を表し、コンテナ内でコンポーネントを中央に配置するのに役立ちます。

パラメータ:
s - スケーリングするスプリング
factor - スケーリングの量
戻り値:
プロパティが、入力スプリング s のプロパティに factor をかけた値であるスプリング
例外:
NullPointerException - s が null の場合
導入されたバージョン:
1.5

width

public static Spring width(Component c)
minimumpreferredmaximum、および value の各プロパティが、指定されたコンポーネントの minimumSizepreferredSizemaximumSize、および size の各プロパティの幅によって定義されるスプリングを返します。返されるスプリングは「ラッパー」の実装であり、そのメソッドによって、指定されたコンポーネントのそれぞれのサイズメソッドが呼び出されます。したがって、返されたスプリングの最大値、推奨値、最小値、および値の各プロパティによって、コンポーネントのそれぞれのプロパティの現在の状態が報告され、それらのプロパティが変更に伴って追跡されます。

パラメータ:
c - サイズの計算に使用されるコンポーネント
戻り値:
プロパティが、コンポーネントのサイズメソッドの水平方向のコンポーネントによって定義されるスプリング
例外:
NullPointerException - c が null の場合
導入されたバージョン:
1.5

height

public static Spring height(Component c)
minimumpreferredmaximum、および value の各プロパティが、指定されたコンポーネントの minimumSizepreferredSizemaximumSize、および size の各プロパティの高さによって定義されるスプリングを返します。返されるスプリングは「ラッパー」の実装であり、そのメソッドによって、指定されたコンポーネントのそれぞれのサイズメソッドが呼び出されます。したがって、返されたスプリングの最大値、推奨値、最小値、および値の各プロパティによって、コンポーネントのそれぞれのプロパティの現在の状態が報告され、それらのプロパティが変更に伴って追跡されます。

パラメータ:
c - サイズの計算に使用されるコンポーネント
戻り値:
プロパティが、コンポーネントのサイズメソッドの垂直方向のコンポーネントによって定義されるスプリング
例外:
NullPointerException - c が null の場合
導入されたバージョン:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

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

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。