モジュール java.desktop
パッケージ javax.swing

インタフェースBoundedRangeModel

既知のすべての実装クラス:
DefaultBoundedRangeModel

public interface BoundedRangeModel
SliderProgressBarなどのコンポーネントが使用するデータ・モデルを定義します。 4つの相互に関連した整数型のプロパティminimum、maximum、extent、およびvalueを定義します。 これらの整数は、ネストされた2つの範囲を次のようにして定義します。
 minimum <= value <= value+extent <= maximum
 
外側の範囲はminimum,maximumで、内側の範囲はvalue,value+extentです。 内側の範囲は、外側の範囲内にある必要があります。つまり、valuemaximum以下、value+extentminimum以上、maximumminimum以上である必要があります。 このモデルには、いくつかのやや意外な機能があります。 これらの意外性は、SliderScrollBarなどの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
    モデルの現在の値を返します。
    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
    モデルの値に対する変更を単一のイベントとして扱うことを示す属性です。
  • メソッドの詳細

    • 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
       
      それ以外の場合は、newValueminimumよりも小さい場合、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
      関連項目: