モジュール 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
関連項目: