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

クラスScrollPane

すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible

public class ScrollPane extends Container implements Accessible
1つの子コンポーネントに対して、自動水平または垂直スクロールあるいはその両方を実装するコンテナ・クラスです。 スクロール・バーの表示ポリシーは、次のいずれかに設定することができます。
  1. as needed: スクロール・バーはスクロール・ペインが必要としたときにだけ作成および表示される
  2. always: スクロール・バーは作成され、常にスクロール・ペインによって表示される
  3. never: スクロール・バーは作成されることも、スクロール・ペインによって表示されることもない

水平スクロール・バーおよび垂直スクロール・バーの状態は、Adjustableインタフェースを実装する2つのScrollPaneAdjustableオブジェクト(次元ごとに1つずつ)によって表されます。 APIはAdjustableオブジェクトの属性(unitIncrementやvalueなど)を操作できるように、これらのオブジェクトにアクセスするメソッドを提供します。

一部の調節可能なプロパティ(minimum、maximum、blockIncrement、visibleAmount)は、スクロール・ペインおよびその子の幾何学的図形に従ってスクロール・ペインによって内部的に設定されます。これらのプロパティはスクロール・ペインを使ってプログラムで設定しないでください。

スクロール・バーの表示ポリシーが"never"であれば、そのスクロール・ペインはsetScrollPosition()メソッドを使用してプログラム的にスクロールすることができ、スクロール・ペインは移動して子の内容を適切にクリップします。 このポリシーは、プログラムが独自の調節可能なコントロールを作成して管理しなければならないときに便利です。

スクロール・バーの配置は、ユーザーがプログラムの外で設定するプラットフォーム固有のプロパティで制御されます。

このコンテナの初期サイズは100×100に設定されていますが、setSize()を使用して変えることができます。

ホイール・マウスのホイールによるスクロールはデフォルトで使用可能です。 これはsetWheelScrollingEnabledを使って使用不可にできます。 ホイール・スクロールは水平および垂直方向のAdjustablesのブロックおよびユニット増分値の設定によりカスタマイズできます。 マウス・ホイール・イベントがどのようにディスパッチされるかについては、MouseWheelEventのクラスの説明を参照してください。

Insetsはスクロール・バーが使用する任意の領域およびスクロール・ペインが作成する任意の境界を定義するために使われます。getInsets()を使用してinsetsの現在値を得ることができます。 scrollbarsAlwaysVisibleの値がfalseであれば、insetsの値はスクロール・バーが、現在可視状態かどうかによって動的に変化します。

関連項目:
直列化された形式
  • フィールド詳細

    • SCROLLBARS_AS_NEEDED

      public static final int SCROLLBARS_AS_NEEDED
      子の大きさがスクロール・ペインの水平/垂直方向の大きさを超えるときにだけ、水平/垂直スクロール・バーを表示することを示します。
      関連項目:
      定数フィールド値
    • SCROLLBARS_ALWAYS

      public static final int SCROLLBARS_ALWAYS
      スクロール・ペインと子の大きさにかかわらず、常に水平/垂直スクロール・バーを表示することを示します。
      関連項目:
      定数フィールド値
    • SCROLLBARS_NEVER

      public static final int SCROLLBARS_NEVER
      スクロール・ペインと子の大きさにかかわらず、常に水平/垂直スクロール・バーを表示しないことを示します。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

  • メソッドの詳細

    • addImpl

      protected final void addImpl(Component comp, Object constraints, int index)
      指定されたコンポーネントを、このスクロール・ペイン・コンテナに追加します。 スクロール・ペインが既存の子コンポーネントを持つ場合、そのコンポーネントが削除され、新しいコンポーネントが追加されます。
      オーバーライド:
      addImpl、クラス: Container
      パラメータ:
      comp - 追加されるコンポーネント
      constraints - 適用外
      index - 子コンポーネントの位置(<= 0である必要がある)
      関連項目:
      Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), Container.invalidate(), LayoutManager, LayoutManager2
    • getScrollbarDisplayPolicy

      public int getScrollbarDisplayPolicy()
      スクロール・バーの表示ポリシーを返します。
      戻り値:
      スクロール・バーの表示ポリシー
    • getViewportSize

      public Dimension getViewportSize()
      スクロール・ペインのビュー・ポートの現在のサイズを返します。
      戻り値:
      ピクセル単位のビュー・ポートのサイズ
    • getHScrollbarHeight

      public int getHScrollbarHeight()
      水平スクロール・バーに占める高さを返します。これは、スクロール・ペインが現在それを表示しているかどうかとは無関係です。
      戻り値:
      ピクセル単位の水平スクロール・バーの高さ
    • getVScrollbarWidth

      public int getVScrollbarWidth()
      垂直スクロール・バーに占める幅を返します。これは、スクロール・ペインが現在それを表示しているかどうかとは無関係です。
      戻り値:
      ピクセル単位の垂直スクロール・バーの幅
    • getVAdjustable

      public Adjustable getVAdjustable()
      垂直スクロール・バーの状態を表すScrollPaneAdjustableオブジェクトを返します。 このメソッドの宣言された戻り値の型は、下位互換性を維持するためにAdjustableになっています。
      戻り値:
      垂直スクロール・バーの状態
      関連項目:
      ScrollPaneAdjustable
    • getHAdjustable

      public Adjustable getHAdjustable()
      水平スクロール・バーの状態を表すScrollPaneAdjustableオブジェクトを返します。 このメソッドの宣言された戻り値の型は、下位互換性を維持するためにAdjustableになっています。
      戻り値:
      水平スクロール・バーの状態
      関連項目:
      ScrollPaneAdjustable
    • setScrollPosition

      public void setScrollPosition(int x, int y)
      子コンポーネント内の指定された位置へスクロールします。 このメソッドの呼出しはスクロール・ペインが子を含む場合にだけ有効です。 子が許されるスクロール範囲外の位置を指定した場合、もっとも近い許される位置へスクロールします。 許される範囲は、矩形x =0、y = 0、幅=(子の幅 - ビュー・ポート幅)、高さ=(子の高さ - ビュー・ポートの高さ)で定義されます。 これはスクロール・バーの状態を表すAdjustableオブジェクトとのインタフェースを持つ便利なメソッドです。
      パラメータ:
      x - スクロール先のx位置
      y -スクロール先のy位置
      例外:
      NullPointerException - スクロール・ペインに子が含まれていない場合
    • setScrollPosition

      public void setScrollPosition(Point p)
      子コンポーネント内の指定された位置へスクロールします。 このメソッドの呼出しはスクロール・ペインが子を含む場合にだけ有効です。 子が許されるスクロール範囲外の位置を指定した場合、もっとも近い許される位置へスクロールします。 許される範囲は、矩形x =0、y = 0、幅=(子の幅 - ビュー・ポート幅)、高さ=(子の高さ - ビュー・ポートの高さ)で定義されます。 これはスクロール・バーの状態を表すAdjustableオブジェクトとのインタフェースを持つ便利なメソッドです。
      パラメータ:
      p - スクロール先の位置を表す点
      例外:
      NullPointerException - pnullである場合
    • getScrollPosition

      public Point getScrollPosition()
      スクロールしたペインのビュー・ポートの0, 0位置に表示される子内の現在のx, y位置を返します。 これはスクロール・バーの状態を表すAdjustableオブジェクトとのインタフェースを持つ便利なメソッドです。
      戻り値:
      現在のスクロール位置の座標位置
      例外:
      NullPointerException - スクロール・ペインに子が含まれていない場合
    • setLayout

      public final void setLayout(LayoutManager mgr)
      このコンテナのレイアウト・マネージャを設定します。 レイアウト・マネージャが設定されるのを防ぐにはこのメソッドをオーバーライドします。
      オーバーライド:
      setLayout、クラス: Container
      パラメータ:
      mgr - 指定されたレイアウト・マネージャ
      関連項目:
      Container.doLayout(), Container.getLayout(), Container.invalidate()
    • doLayout

      public void doLayout()
      子のサイズを推奨サイズに変更してこのコンテナをレイアウトします。 子の新しい推奨サイズでは現在のスクロール位置が不正になる場合、スクロール位置はもっとも近い許される位置に設定されます。
      オーバーライド:
      doLayout 、クラス:  Container
      関連項目:
      Component.validate()
    • layout

      @Deprecated public void layout()
      非推奨。
      JDK Version 1.1以降は、doLayout()に置き換えられています。
      オーバーライド:
      layout、クラス: Container
    • printComponents

      public void printComponents(Graphics g)
      このスクロール・ペイン内のコンポーネントを出力します。
      オーバーライド:
      printComponents、クラス: Container
      パラメータ:
      g - 指定されたGraphicsウィンドウ
      関連項目:
      Component.print(java.awt.Graphics), Component.printAll(java.awt.Graphics)
    • addNotify

      public void addNotify()
      スクロール・ペインのピアを作成します。
      オーバーライド:
      addNotify 、クラス:  Container
      関連項目:
      Component.isDisplayable(), Container.removeNotify()
    • paramString

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

      protected void processMouseWheelEvent(MouseWheelEvent e)
      このScrollPaneに配信されるマウス・ホイール・イベントを、適切な量だけスクロールすることによって処理します。

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

      オーバーライド:
      processMouseWheelEvent、クラス: Component
      パラメータ:
      e - マウス・ホイール・イベント
      導入されたバージョン:
      1.4
      関連項目:
      MouseWheelEvent, MouseWheelListener, Component.addMouseWheelListener(java.awt.event.MouseWheelListener), Component.enableEvents(long)
    • eventTypeEnabled

      protected boolean eventTypeEnabled(int type)
      ホイール・スクロールが有効な場合、MouseWheelEventsに対してtrueを返します。
      導入されたバージョン:
      1.4
    • setWheelScrollingEnabled

      public void setWheelScrollingEnabled(boolean handleWheel)
      マウス・ホイールの移動に応答してスクロールを有効または無効にします。 ホイール・スクロールはデフォルトで有効です。
      パラメータ:
      handleWheel - MouseWheelEventに対してスクロールが自動的に行われる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
      isWheelScrollingEnabled(), MouseWheelEvent, MouseWheelListener
    • isWheelScrollingEnabled

      public boolean isWheelScrollingEnabled()
      マウス・ホイールに応答してスクロールが行われるかどうかを示します。 ホイール・スクロールはデフォルトで有効です。
      戻り値:
      ホイールのスクロールが有効になっている場合はtrue;そうでなければfalse
      導入されたバージョン:
      1.4
      関連項目:
      setWheelScrollingEnabled(boolean)
    • getAccessibleContext

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