- 既知のすべての実装クラス:
DefaultBoundedRangeModel
public interface BoundedRangeModel
Slider
やProgressBar
などのコンポーネントが使用するデータ・モデルを定義します。 4つの相互に関連した整数型のプロパティminimum、maximum、extent、およびvalueを定義します。 これらの整数は、ネストされた2つの範囲を次のようにして定義します。
minimum <= value <= value+extent <= maximum外側の範囲は
minimum,maximum
で、内側の範囲はvalue,value+extent
です。 内側の範囲は、外側の範囲内にある必要があります。つまり、value
はmaximum
以下、value+extent
はminimum
以上、maximum
はminimum
以上である必要があります。 このモデルには、いくつかのやや意外な機能があります。 これらの意外性は、Slider
やScrollBar
などのSwing BoundedRangeModelクライアントの利便性のために存在しています。
- minimumおよびmaximum設定メソッドは、ほかの3つのプロパティを、新しい値の引数に合わせます。 たとえば、モデルのminimumを設定すると、maximum、value、およびextentプロパティが設定された順に変更され、前述した条件を維持します。
-
valueおよびextent設定メソッドは、ほかの3つのプロパティによって定義された制限に引数を合わせます。 たとえば、
value == maximum
の場合、setExtent(10)
はextentをゼロに戻します。 - BoundedRangeModelの4つの値はJava Beansのプロパティとして定義されていますが、SwingのChangeEventは、PropertyChangeEventよりも変更をクライアントに通知する用途によく使われます。 これによって、BoundedRangeModelを監視するオーバーヘッドを低く保つことができます。 変更は、しばしばMouseDraggedのレートの形でレポートされます。
スライダが使用する、カスタム・バインディングされた範囲モデルの指定の例については、Swingアーキテクチャの概要の分離可能なモデル・アーキテクチャの説明を参照してください。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明void
モデルのリスナー・リストにChangeListenerを追加します。int
モデルのextentの値、すなわち、モデルのvalueから始まる内側の範囲の長さを返します。int
モデルのmaximumを返します。int
minimumに使用できる値を返します。int
getValue()
モデルの現在の値を返します。boolean
valueプロパティへの現在の変更が、一連の変更の一部である場合にtrueを返します。void
モデルのリスナー・リストからChangeListenerを削除します。void
setExtent
(int newExtent) モデルのextentの値を設定します。void
setMaximum
(int newMaximum) モデルのmaximumをnewMaximumに設定します。void
setMinimum
(int newMinimum) モデルのminimumをnewMinimumに設定します。void
setRangeProperties
(int value, int extent, int min, int max, boolean adjusting) 1回のメソッドの呼出しで、モデルのデータをすべて設定できるメソッドです。void
setValue
(int newValue) newValue
がモデルの条件式を満たす場合は、モデルの現在の値をnewValue
に設定します。void
setValueIsAdjusting
(boolean b) モデルの値に対する変更を単一のイベントとして扱うことを示す属性です。
-
メソッドの詳細
-
getMinimum
int getMinimum()minimumに使用できる値を返します。- 戻り値:
- minimumプロパティの値
- 関連項目:
-
setMinimum
void setMinimum(int newMinimum) モデルのminimumをnewMinimumに設定します。 それに応じてほかの3つのプロパティも次の条件式を満たすように変更されます。minimum <= value <= value+extent <= maximum
モデルが変更された場合、すべてのリスナーに通知されます。
- パラメータ:
newMinimum
- モデルの新しいminimum- 関連項目:
-
getMaximum
int getMaximum()モデルのmaximumを返します。 モデルの値の上限は(maximum - extent)である点に注意してください。- 戻り値:
- maximumプロパティの値
- 関連項目:
-
setMaximum
void setMaximum(int newMaximum) モデルのmaximumをnewMaximumに設定します。 それに応じてほかの3つのプロパティも次の条件式を満たすように変更されます。minimum <= value <= value+extent <= maximum
モデルが変更された場合、すべてのリスナーに通知されます。
- パラメータ:
newMaximum
- モデルの新しいmaximum- 関連項目:
-
getValue
int getValue()モデルの現在の値を返します。 モデルの値の上限はmaximum - extent
であり、下限はminimum
である点に注意してください。- 戻り値:
- モデルの値
- 関連項目:
-
setValue
void setValue(int newValue) newValue
がモデルの条件式を満たす場合は、モデルの現在の値をnewValue
に設定します。 条件式は次のとおりです。minimum <= value <= value+extent <= maximum
それ以外の場合は、newValue
がminimum
よりも小さい場合、minimum
に設定されます。maximum
よりも大きい場合は、maximum
に設定されます。value+extent
よりも大きい場合は、value+extent
に設定されます。BoundedRangeモデルがスクロール・バーに使用されているとき、この値は「つまみ」または「スライダ」とも呼ばれるスクロール・バーのノブの原点を指定します。 通常この値は、スクロールされるオブジェクトの可視部分の原点を示します。
モデルが変更された場合、すべてのリスナーに通知されます。
- パラメータ:
newValue
- モデルの新しい値- 関連項目:
-
setValueIsAdjusting
void setValueIsAdjusting(boolean b) モデルの値に対する変更を単一のイベントとして扱うことを示す属性です。 この属性は、一連の値の変更の開始時にtrueに設定され、値の変更が完了するとfalseに設定されます。 通常、これにより、リスナーは、すべての中間値に対して更新する必要なく、最終の値の変更がコミットされたときにのみ対応できます。スライダとスクロール・バーは、ドラッグ中にこのプロパティを使用します。
- パラメータ:
b
- valueプロパティへの変更を、一連の変更の一部とする場合はtrue
-
getValueIsAdjusting
boolean getValueIsAdjusting()valueプロパティへの現在の変更が、一連の変更の一部である場合にtrueを返します。- 戻り値:
- valueIsAdjustingProperty
- 関連項目:
-
getExtent
int getExtent()モデルのextentの値、すなわち、モデルのvalueから始まる内側の範囲の長さを返します。- 戻り値:
- モデルのextentプロパティの値
- 関連項目:
-
setExtent
void setExtent(int newExtent) モデルのextentの値を設定します。 newExtentは、ゼロ以上で、maximum - value以下である必要があります。BoundedRangeモデルをスクロールバーで使用する場合、エクステントは「つまみ」または「スライダ」とも呼ばれるスクロールバーのノブの長さを定義します。 エクステントは、通常、スクロールされているオブジェクトの表示可能な量を表します。 スライダで使用する場合、エクステントは、ユーザーが[PgUp]または[PgDn]を押した場合などに、値が「ジャンプ」できる量を指定します。
モデルが変更された場合、すべてのリスナーに通知されます。
- パラメータ:
newExtent
- モデルの新しいextent- 関連項目:
-
setRangeProperties
void setRangeProperties(int value, int extent, int min, int max, boolean adjusting) 1回のメソッドの呼出しで、モデルのデータをすべて設定できるメソッドです。 その結果、単一の変更イベントが生成されます。 個々の変更イベントを発生させずに、モデルのデータをすべて同時に調整するのに便利です。- パラメータ:
value
- 現在の値を指定する整数値extent
- 値が「ジャンプ」できる量を指定する整数値min
- 最小値を指定する整数値max
- 最大値を指定する整数値adjusting
- boolean値。一連の変更が進行中である場合はtrue- 関連項目:
-
addChangeListener
void addChangeListener(ChangeListener x) モデルのリスナー・リストにChangeListenerを追加します。- パラメータ:
x
- 追加するChangeListener- 関連項目:
-
removeChangeListener
void removeChangeListener(ChangeListener x) モデルのリスナー・リストからChangeListenerを削除します。- パラメータ:
x
- 削除するChangeListener- 関連項目:
-