モジュール java.desktop
パッケージ java.awt

クラスScrollbar

java.lang.Object
java.awt.Component
java.awt.Scrollbar
すべての実装されたインタフェース:
Adjustable, ImageObserver, MenuContainer, Serializable, Accessible

public class Scrollbar extends Component implements Adjustable, Accessible
Scrollbarクラスは、なじみのあるユーザー・インタフェース・オブジェクトであるスクロール・バーを実現します。 スクロール・バーは、ユーザーが値の範囲から値を選択できるようにするための便利な手段を提供します。 次の3つの垂直スクロール・バーは、赤、緑、青の色成分を選択するためのスライダ・コントロールとして使用できます。

3本横に並んだ垂直スライダを示すイメージ

この例のスクロール・バーは、それぞれ次のようなコードを使って作成できます。


 redSlider=new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255);
 add(redSlider);
 

また、スクロール・バーは一定の値の範囲を表すことができます。 たとえば、スクロール・バーをテキストのスクロールに使用する場合は、「バブル」(「サム」または「スクロール・ボックス」ともいう)の幅で、可視のテキストの量を表すことができます。 範囲を表すスクロール・バーの例を次に示します。

0から300までの範囲の水平スライダを示すイメージ。 スライダのつまみは60にラベル付けされている

この例のバブルによって表される値の範囲は、可視量になります。 この例の水平スクロール・バーは次のようなコードで作成できます。


 ranger = new Scrollbar(Scrollbar.HORIZONTAL, 0, 60, 0, 300);
 add(ranger);
 

スクロール・バーの実際の最大値は、maximumからvisible amountを引いた値です。 上記の例では、maximumが300で、visible amountが60なので、実際の最大値は240です。 スクロール・バーのトラックの範囲は、0 - 300です。 バブルの左端は、スクロール・バーの値を示します。

通常、ユーザーは、マウスを使ったジェスチャを行うことによりスクロール・バーの値を変更します。 たとえば、ユーザーはスクロール・バーのバブルを上下にドラッグしたり、スクロール・バーのユニット増分値領域またはブロック増分値領域をクリックしたりすることができます。 また、キーボード・ジェスチャをスクロール・バーにマッピングすることもできます。 通常、Page UpキーおよびPage Downキーは、スクロール・バーのブロック増分値領域およびブロック減分値領域のクリックに相当します。

ユーザーがスクロール・バーの値を変更すると、スクロール・バーはAdjustmentEventのインスタンスを受け取ります。 スクロール・バーはこのイベントを処理し、登録されているすべてのリスナーに渡します。

スクロール・バーの値が変更されたときに通知を必要とするオブジェクトは、java.awt.eventパッケージで定義されるインタフェースAdjustmentListenerを実装する必要があります。 addAdjustmentListenerメソッドおよびremoveAdjustmentListenerメソッドを呼び出すことによって動的にリスナーを追加したり削除したりすることができます。

AdjustmentEventクラスは、次に示す5つの型の調整イベントを定義します。

  • AdjustmentEvent.TRACK。この調整イベントは、ユーザーがスクロール・バーのバブルをドラッグしたときに送出される。
  • AdjustmentEvent.UNIT_INCREMENT。この調整イベントは、ユーザーが水平スクロール・バーの左矢印または垂直スクロール・バーの上矢印をクリックするか、キーボードからそれに相当するジェスチャを行ったときに送出される。
  • AdjustmentEvent.UNIT_DECREMENT。この調整イベントは、ユーザーが水平スクロール・バーの右矢印または垂直スクロール・バーの下矢印をクリックするか、キーボードからそれに相当するジェスチャを行ったときに送出される。
  • AdjustmentEvent.BLOCK_INCREMENT。この調整イベントは、ユーザーがトラック上で水平スクロール・バーのバブルの左側または垂直スクロール・バーのバブルの上側をクリックしたときに送出される。 Page Upキーが定義されているキーボードをユーザーが使用している場合は、通常、Page Upキーがこれに相当する。
  • AdjustmentEvent.BLOCK_DECREMENT。この調整イベントは、ユーザーがトラック上で水平スクロール・バーのバブルの右側または垂直スクロール・バーのバブルの下側をクリックしたときに送出される。 Page Downキーが定義されているキーボードをユーザーが使用している場合は、通常、Page Downキーがこれに相当する。

JDK 1.0のイベント・システムは、下位互換性のためにサポートされていますが、新しいバージョンのプラットフォームでは使用しないでください。 JDK 1.1で導入された5つの型の調整イベントは、以前のバージョンのプラットフォームでスクロール・バーに関連している5つのイベント型に対応しています。 次のリストに、調整イベント型と、それらによって置き換えられた対応するJDK 1.0イベント型を示します。

  • AdjustmentEvent.TRACKEvent.SCROLL_ABSOLUTEに置き換えられる
  • AdjustmentEvent.UNIT_INCREMENTEvent.SCROLL_LINE_UPに置き換えられる
  • AdjustmentEvent.UNIT_DECREMENTEvent.SCROLL_LINE_DOWNに置き換えられる
  • AdjustmentEvent.BLOCK_INCREMENTEvent.SCROLL_PAGE_UPに置き換えられる
  • AdjustmentEvent.BLOCK_DECREMENTEvent.SCROLL_PAGE_DOWNに置き換えられる

ノート: Scrollbarは値の選択用にのみ使用することをお薦めします。 コンテナ内にスクロール可能なコンポーネントを実装する場合は、ScrollPaneを使用することをお薦めします。 この目的でScrollbarを使用すると、ペイント、キー処理、サイズ、位置に関する問題が発生する可能性があります。

導入されたバージョン:
1.0
関連項目: