インタフェースBoundedRangeModel
- 既知のすべての実装クラス:
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を返します。intminimumに使用できる値を返します。intgetValue()モデルの現在の値を返します。booleanvalueプロパティへの現在の変更が、一連の変更の一部である場合にtrueを返します。voidモデルのリスナー・リストからChangeListenerを削除します。voidsetExtent(int newExtent) モデルのextentの値を設定します。voidsetMaximum(int newMaximum) モデルのmaximumをnewMaximumに設定します。voidsetMinimum(int newMinimum) モデルのminimumをnewMinimumに設定します。voidsetRangeProperties(int value, int extent, int min, int max, boolean adjusting) このメソッドは、モデルのすべてのデータを単一のメソッド・コールで設定します。voidsetValue(int newValue) newValueがモデルの条件式を満たす場合は、モデルの現在の値をnewValueに設定します。voidsetValueIsAdjusting(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) このメソッドは、モデルのすべてのデータを単一のメソッド・コールで設定します。 その結果、単一の変更イベントが生成されます。 個々の変更イベントを発生させずに、モデルのデータをすべて同時に調整するのに便利です。- パラメータ:
value- 現在の値を指定する整数値extent- 値が「ジャンプ」できる量を指定する整数値min- 最小値を指定する整数値max- 最大値を指定する整数値adjusting- boolean値。一連の変更が進行中である場合はtrue- 関連項目:
-
addChangeListener
void addChangeListener(ChangeListener x) モデルのリスナー・リストにChangeListenerを追加します。- パラメータ:
x- 追加するChangeListener- 関連項目:
-
removeChangeListener
void removeChangeListener(ChangeListener x) モデルのリスナー・リストからChangeListenerを削除します。- パラメータ:
x- 削除するChangeListener- 関連項目:
-