モジュール java.desktop
パッケージ 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
    関連項目:
    AdjustmentEvent, AdjustmentListener, 直列化された形式
    • フィールドの詳細

      • HORIZONTAL

        public static final int HORIZONTAL
        水平スクロール・バーを示す定数です。
        関連項目:
        定数フィールド値
      • VERTICAL

        public static final int VERTICAL
        垂直スクロール・バーを示す定数です。
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • Scrollbar

        public Scrollbar()
                  throws HeadlessException
        新しい垂直スクロール・バーを構築します。 次の表は、スクロール・バーのデフォルト・プロパティを示しています。
        スクロール・バーのデフォルト・プロパティ
        プロパティ 説明 デフォルト値
        orientation スクロール・バーが垂直か水平かを示す Scrollbar.VERTICAL
        value スクロール・バーのバブルの位置を制御する値 0
        visible amount スクロール・バーの範囲の可視量、一般にスクロール・バーのバブルのサイズで表される 10
        minimum スクロール・バーの最小値 0
        maximum スクロール・バーの最大値 100
        unit increment Line UpキーまたはLine Downキーが押されるか、またはスクロール・バーの末尾の矢印がクリックされた場合の値の変化する量 1
        block increment ページ・アップまたはページ・ダウン・キーが押されたとき、またはスクロール・バー・トラックがクリックされたときに値が変化する量
        バブルの両側に
        10
        例外:
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        関連項目:
        GraphicsEnvironment.isHeadless()
      • Scrollbar

        public Scrollbar​(int orientation)
                  throws HeadlessException
        指定された方向の新しいスクロール・バーを構築します。

        orientation引数には、それぞれ水平または垂直スクロール・バーを示す2つの値Scrollbar.HORIZONTALまたはScrollbar.VERTICALのどちらかを指定する必要があります。

        パラメータ:
        orientation -スクロール・バーの方向を示す
        例外:
        IllegalArgumentException - orientation引数に不正な値が指定された場合
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        関連項目:
        GraphicsEnvironment.isHeadless()
      • Scrollbar

        public Scrollbar​(int orientation,
                         int value,
                         int visible,
                         int minimum,
                         int maximum)
                  throws HeadlessException
        指定された方向、初期値、可視量、最小値、および最大値を持つ新しいスクロール・バーを構築します。

        orientation引数には、それぞれ水平または垂直スクロール・バーを示す2つの値Scrollbar.HORIZONTALまたはScrollbar.VERTICALのどちらかを指定する必要があります。

        このコンストラクタに指定されるパラメータは、setValues(int, int, int, int)に記述された制約に従います。

        パラメータ:
        orientation -スクロール・バーの方向を示す。
        value - スクロール・バーの初期値
        visible - このスクロール・バーの可視量。一般にバブルのサイズで表される
        minimum - スクロール・バーの最小値
        maximum - スクロール・バーの最大値
        例外:
        IllegalArgumentException - orientation引数に不正な値が指定された場合
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        関連項目:
        setValues(int, int, int, int), GraphicsEnvironment.isHeadless()
    • メソッドの詳細

      • getOrientation

        public int getOrientation()
        このスクロール・バーの方向を返します。
        定義:
        getOrientation 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーの方向。Scrollbar.HORIZONTALまたはScrollbar.VERTICAL
        関連項目:
        setOrientation(int)
      • setOrientation

        public void setOrientation​(int orientation)
        このスクロール・バーの方向を設定します。
        パラメータ:
        orientation - このスクロール・バーの方向。Scrollbar.HORIZONTALまたはScrollbar.VERTICAL
        例外:
        IllegalArgumentException - orientationに指定された値が不正な値である場合
        導入されたバージョン:
        1.1
        関連項目:
        getOrientation()
      • getValue

        public int getValue()
        このスクロール・バーの現在値を返します。
        定義:
        getValue 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーの現在の値
        関連項目:
        getMinimum(), getMaximum()
      • setValue

        public void setValue​(int newValue)
        このスクロール・バーの値を、指定された値に設定します。

        指定された値が現在のminimumより小さい場合はminimumに置き換えられ、現在のmaximum - visibleAmountより大きい場合はmaximum - visibleAmountに置き換えられます。

        通常、プログラムは、スクロール・バーの値をsetValuesを呼び出すことによってのみ変更するようにしてください。 setValuesメソッドは、スクロール・バーの最小、最大、可視量、値の各プロパティを、互いに矛盾しないように同時に、かつ同期的に設定します。

        このメソッドを呼び出しても、AdjustmentEventはトリガーされません。

        定義:
        setValue 、インタフェース: Adjustable
        パラメータ:
        newValue - スクロール・バーの新しい値
        関連項目:
        setValues(int, int, int, int), getValue(), getMinimum(), getMaximum()
      • getMinimum

        public int getMinimum()
        このスクロール・バーの最小値を返します。
        定義:
        getMinimum 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーの最小値
        関連項目:
        getValue(), getMaximum()
      • setMinimum

        public void setMinimum​(int newMinimum)
        このスクロール・バーの最小値を設定します。

        setMinimumを呼び出して、最小値を変更すると、その他の値(最大値、可視量、および現在のスクロール・バーの値)が新しい最小値に合わせて変更されます。

        通常、プログラムは、スクロール・バーの最小値をsetValuesを呼び出すことによってのみ変更するようにしてください。 setValuesメソッドは、スクロール・バーの最小、最大、可視量、値の各プロパティを、互いに矛盾しないように同時に、かつ同期的に設定します。

        最小値をInteger.MAX_VALUEに設定すると、新しい最小値がInteger.MAX_VALUE - 1に設定されます。

        定義:
        setMinimum 、インタフェース: Adjustable
        パラメータ:
        newMinimum - このスクロール・バーの新しい最小値
        導入されたバージョン:
        1.1
        関連項目:
        setValues(int, int, int, int), setMaximum(int)
      • getMaximum

        public int getMaximum()
        このスクロール・バーの最大値を返します。
        定義:
        getMaximum 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーの最大値
        関連項目:
        getValue(), getMinimum()
      • setMaximum

        public void setMaximum​(int newMaximum)
        このスクロール・バーの最大値を設定します。

        setMaximumを呼び出して、最大値を変更すると、その他の値(最小値、可視量、および現在のスクロール・バーの値)が新しい最大値に合わせて変更されます。

        通常、プログラムは、スクロール・バーの最大値をsetValuesを呼び出すことによってのみ変更するようにしてください。 setValuesメソッドは、スクロール・バーの最小、最大、可視量、値の各プロパティを、互いに矛盾しないように同時に、かつ同期的に設定します。

        最大値をInteger.MIN_VALUEに設定すると、新しい最大値がInteger.MIN_VALUE+1に設定されます。

        定義:
        setMaximum 、インタフェース: Adjustable
        パラメータ:
        newMaximum - このスクロール・バーの新しい最大値
        導入されたバージョン:
        1.1
        関連項目:
        setValues(int, int, int, int), setMinimum(int)
      • getVisibleAmount

        public int getVisibleAmount()
        このスクロール・バーの可視量を返します。

        値の範囲の選択にスクロール・バーを使用する場合、可視量を使用して、現在可視の値の範囲を表します。 通常、スクロール・バーのバブル(サムまたはスクロール・ボックスとも言う)のサイズによって、スクロール・バーの範囲と可視量の関係を視覚的に表現します。 プラットフォームによっては、可視量プロパティの値が、バブルのサイズによって視覚的に示されない可能性があることに注意してください。

        スクロール・バーのバブルが移動不可能である場合(バブルがスクロール・バーのトラックの全体の長さを占める場合やスクロール・バーが無効にされている場合など)、バブルが表示されないことがあります。 バブルが表示されるかどうかは、getVisibleAmountによって返される値に影響を与えません。

        定義:
        getVisibleAmount 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーの可視量
        導入されたバージョン:
        1.1
        関連項目:
        setVisibleAmount(int)
      • getVisible

        @Deprecated
        public int getVisible()
        非推奨。
        JDK Version 1.1以降は、getVisibleAmount()に置き換えられています。
        このスクロール・バーの表示量を返します。
        戻り値:
        このスクロール・バーの可視量
      • setVisibleAmount

        public void setVisibleAmount​(int newAmount)
        このスクロール・バーの可視量を設定します。

        値の範囲の選択にスクロール・バーを使用する場合、可視量を使用して、現在可視の値の範囲を表します。 通常、スクロール・バーのバブル(サムまたはスクロール・ボックスとも言う)のサイズによって、スクロール・バーの範囲と可視量の関係を視覚的に表現します。 プラットフォームによっては、可視量プロパティの値が、バブルのサイズによって視覚的に示されない可能性があることに注意してください。

        スクロール・バーのバブルが移動不可能である場合(バブルがスクロール・バーのトラックの全体の長さを占める場合やスクロール・バーが無効にされている場合など)、バブルが表示されないことがあります。 バブルが表示されるかどうかは、getVisibleAmountによって返される値に影響を与えません。

        指定された可視量がoneより小さい場合はoneに置き換えられ、現在のmaximum - minimumより大きい場合はmaximum - minimumに置き換えられます。

        通常、プログラムは、スクロール・バーの値をsetValuesを呼び出すことによってのみ変更するようにしてください。 setValuesメソッドは、スクロール・バーの最小、最大、可視量、値の各プロパティを、互いに矛盾しないように同時に、かつ同期的に設定します。

        定義:
        setVisibleAmount 、インタフェース: Adjustable
        パラメータ:
        newAmount - 新しい可視量
        導入されたバージョン:
        1.1
        関連項目:
        getVisibleAmount(), setValues(int, int, int, int)
      • setUnitIncrement

        public void setUnitIncrement​(int v)
        このスクロール・バーのユニット増分値を設定します。

        ユニット増分値は、ユーザーがスクロール・バーのユニット増分値領域をアクティブ化したときに加算または減算される値です。これは通常、スクロール・バーが調整イベントとして受け取るマウス・ジェスチャまたはキーボード・ジェスチャを通じて行われます。 ユニット増分値はゼロより大きくなければいけません。 単位増分を1より小さい値に設定しようとすると、値1が設定されます。

        一部のオペレーティング・システムでは、このプロパティは基礎となるコントロールによって無視されることがあります。

        定義:
        setUnitIncrement 、インタフェース: Adjustable
        パラメータ:
        v - スクロール・バーの値を増分または減分する量
        導入されたバージョン:
        1.1
        関連項目:
        getUnitIncrement()
      • setLineIncrement

        @Deprecated
        public void setLineIncrement​(int v)
        非推奨。
        JDK Version 1.1以降は、setUnitIncrement(int)に置き換えられています。
        このスクロール・バーのユニット増分値を設定します。
        パラメータ:
        v - インクリメント値
      • getUnitIncrement

        public int getUnitIncrement()
        このスクロール・バーのユニット増分値を返します。

        ユニット増分値は、ユーザーがスクロール・バーのユニット増分値領域をアクティブ化したときに加算または減算される値です。これは通常、スクロール・バーが調整イベントとして受け取るマウス・ジェスチャまたはキーボード・ジェスチャを通じて行われます。 ユニット増分値はゼロより大きくなければいけません。

        一部のオペレーティング・システムでは、このプロパティは基礎となるコントロールによって無視されることがあります。

        定義:
        getUnitIncrement 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーのユニット増分値
        導入されたバージョン:
        1.1
        関連項目:
        setUnitIncrement(int)
      • getLineIncrement

        @Deprecated
        public int getLineIncrement()
        非推奨。
        JDK Version 1.1以降は、getUnitIncrement()に置き換えられています。
        このスクロール・バーの単位増分を返します。
        戻り値:
        このスクロール・バーの単位増分
      • setBlockIncrement

        public void setBlockIncrement​(int v)
        このスクロール・バーのブロック増分値を設定します。

        ブロック増分値は、ユーザーがスクロール・バーのブロック増分値領域をアクティブ化したときに加算または減算される値です。これは通常、スクロール・バーが調整イベントとして受け取るマウス・ジェスチャまたはキーボード・ジェスチャを通じて行われます。 ブロック増分値はゼロより大きくなければいけません。 ブロック増分を1より小さい値に設定しようとすると、値1が設定されます。

        定義:
        setBlockIncrement 、インタフェース: Adjustable
        パラメータ:
        v - スクロール・バーの値を増分または減分する量
        導入されたバージョン:
        1.1
        関連項目:
        getBlockIncrement()
      • setPageIncrement

        @Deprecated
        public void setPageIncrement​(int v)
        非推奨。
        JDK Version 1.1以降は、setBlockIncrement()に置き換えられています。
        このスクロール・バーのブロック増分値を設定します。
        パラメータ:
        v - ブロック増分
      • getBlockIncrement

        public int getBlockIncrement()
        このスクロール・バーのブロック増分値を返します。

        ブロック増分値は、ユーザーがスクロール・バーのブロック増分値領域をアクティブ化したときに加算または減算される値です。これは通常、スクロール・バーが調整イベントとして受け取るマウス・ジェスチャまたはキーボード・ジェスチャを通じて行われます。 ブロック増分値はゼロより大きくなければいけません。

        定義:
        getBlockIncrement 、インタフェース: Adjustable
        戻り値:
        このスクロール・バーのブロック増分値
        導入されたバージョン:
        1.1
        関連項目:
        setBlockIncrement(int)
      • getPageIncrement

        @Deprecated
        public int getPageIncrement()
        非推奨。
        JDK Version 1.1以降は、getBlockIncrement()に置き換えられています。
        このスクロール・バーのブロック・インクリメントを返します。
        戻り値:
        このスクロール・バーのブロック増分値
      • setValues

        public void setValues​(int value,
                              int visible,
                              int minimum,
                              int maximum)
        このスクロール・バーの4つのプロパティであるvaluevisibleAmountminimum、およびmaximumの値を設定します。 これらのプロパティに設定された値が整合性がないかまたは不正な場合は、整合性を確保するよう変更されます。

        このメソッドは、同時かつ同期的にこれら4つのスクロール・バーのプロパティの値を設定し、これらのプロパティの値が相互に整合するようにします。 これには、次の制約を適用する必要があります。maximumminimumより大、maximum - minimumInteger.MAX_VALUE以下、visibleAmountはゼロより大である必要があります。visibleAmountmaximum - minimum以下、valueminimum以上、かつvaluemaximum - visibleAmount以下である必要があります

        このメソッドを呼び出しても、AdjustmentEventはトリガーされません。

        パラメータ:
        value - 現在のウィンドウ内の位置
        visible - スクロール・バーの可視量
        minimum - スクロール・バーの最小値
        maximum - スクロール・バーの最大値
        関連項目:
        setMinimum(int), setMaximum(int), setVisibleAmount(int), setValue(int)
      • getValueIsAdjusting

        public boolean getValueIsAdjusting()
        ユーザーがアクションを取得中であるために値の変更が進行している場合に、trueを返します。
        戻り値:
        valueIsAdjustingプロパティの値
        導入されたバージョン:
        1.4
        関連項目:
        setValueIsAdjusting(boolean)
      • setValueIsAdjusting

        public void setValueIsAdjusting​(boolean b)
        valueIsAdjustingプロパティを設定します。
        パラメータ:
        b - 新しい調整中のステータス
        導入されたバージョン:
        1.4
        関連項目:
        getValueIsAdjusting()
      • processEvent

        protected void processEvent​(AWTEvent e)
        このスクロール・バーのイベントを処理します。 イベントがAdjustmentEventのインスタンスである場合は、processAdjustmentEventメソッドを呼び出します。 それ以外の場合は、そのスーパー・クラスのprocessEventメソッドを呼び出します。

        イベント・パラメータがnullである場合は、動作が未指定のため、例外が発生する可能性があります。

        Overrides:
        processEvent、クラス: Component
        パラメータ:
        e - イベント
        導入されたバージョン:
        1.1
        関連項目:
        AdjustmentEvent, processAdjustmentEvent(java.awt.event.AdjustmentEvent)
      • processAdjustmentEvent

        protected void processAdjustmentEvent​(AdjustmentEvent e)
        このスクロール・バーで発生する調整イベントを、登録されているすべてのAdjustmentListenerオブジェクトにディスパッチすることによって処理します。

        このコンポーネントに対して調整イベントが使用可能でないかぎり、このメソッドは呼び出されません。 調整イベントは、次のどちらかの場合に使用可能になります。

        • AdjustmentListenerオブジェクトがaddAdjustmentListenerによって登録されている。
        • enableEventsによって調整イベントが使用可能になっている。

        イベント・パラメータがnullである場合は、動作が未指定のため、例外が発生する可能性があります。

        パラメータ:
        e - 調整イベント
        導入されたバージョン:
        1.1
        関連項目:
        AdjustmentEvent, AdjustmentListener, addAdjustmentListener(java.awt.event.AdjustmentListener), Component.enableEvents(long)
      • paramString

        protected String paramString()
        このScrollbarの状態を表す文字列を返します。 このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なる場合があります。 返される文字列は空の場合がありますが、nullにはなりません。
        Overrides:
        paramString、クラス: Component
        戻り値:
        このスクロール・バーのパラメータ文字列
      • getAccessibleContext

        public AccessibleContext getAccessibleContext()
        このScrollbarに関連付けられているAccessibleContextを取得します。 スクロール・バーの場合、AccessibleContextAccessibleAWTScrollBarの形式を取ります。 必要に応じて、新しいAccessibleAWTScrollBarインスタンスが作成されます。
        定義:
        getAccessibleContext、インタフェース: Accessible
        Overrides:
        getAccessibleContext、クラス: Component
        戻り値:
        このScrollBarAccessibleContextとして機能するAccessibleAWTScrollBar
        導入されたバージョン:
        1.3