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

クラスScrollPaneLayout

  • すべての実装されたインタフェース:
    LayoutManager, Serializable, ScrollPaneConstants
    直系の既知のサブクラス:
    ScrollPaneLayout.UIResource

    public class ScrollPaneLayout
    extends Object
    implements LayoutManager, ScrollPaneConstants, Serializable
    JScrollPaneが使用するレイアウト・マネージャです。 JScrollPaneLayoutが扱うコンポーネントはビュー・ポート1個、スクロール・バー2個、行ヘッダー1個、列ヘッダー1個、「コーナー」コンポーネント4個の9個あります。

    警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。

    導入されたバージョン:
    1.2
    関連項目:
    JScrollPane, JViewport
    • コンストラクタの詳細

      • ScrollPaneLayout

        public ScrollPaneLayout()
    • メソッドの詳細

      • syncWithScrollPane

        public void syncWithScrollPane​(JScrollPane sp)
        このメソッドは、ScrollPaneLayoutがJScrollPaneのLayoutManagerとして設定されたあとで呼び出されます。 このメソッドは通常、addLayoutComponentによって設定される内部フィールドをすべて初期化します。 例を示します。
         ScrollPaneLayout mySPLayout = new ScrollPanelLayout() {
             public void layoutContainer(Container p) {
                 super.layoutContainer(p);
                 // do some extra work here ...
             }
         };
         scrollpane.setLayout(mySPLayout):
         
        パラメータ:
        sp - JScrollPaneのインスタンス
      • addSingletonComponent

        protected Component addSingletonComponent​(Component oldC,
                                                  Component newC)
        既存のコンポーネントを削除します。 左隅や垂直スクロール・バーなどの新しいコンポーネントを追加すると、既存のコンポーネント(存在する場合)は削除されます。

        このメソッドはnewCを返します。 oldCnewCと同じでなく、nullでもない場合、それは親から削除されます。

        パラメータ:
        oldC - 置き換えるComponent
        newC - 追加するComponent
        戻り値:
        newC
      • addLayoutComponent

        public void addLayoutComponent​(String s,
                                       Component c)
        指定されたコンポーネントをレイアウトに追加します。 レイアウトは、次のいずれかの値を使用して指定します。
        • ScrollPaneConstants.VIEWPORT
        • ScrollPaneConstants.VERTICAL_SCROLLBAR
        • ScrollPaneConstants.HORIZONTAL_SCROLLBAR
        • ScrollPaneConstants.ROW_HEADER
        • ScrollPaneConstants.COLUMN_HEADER
        • ScrollPaneConstants.LOWER_LEFT_CORNER
        • ScrollPaneConstants.LOWER_RIGHT_CORNER
        • ScrollPaneConstants.UPPER_LEFT_CORNER
        • ScrollPaneConstants.UPPER_RIGHT_CORNER
        定義:
        addLayoutComponent、インタフェース: LayoutManager
        パラメータ:
        s - コンポーネント識別子
        c - 追加されるコンポーネント
        例外:
        IllegalArgumentException - sが無効なキーの場合
      • removeLayoutComponent

        public void removeLayoutComponent​(Component c)
        指定されたコンポーネントをレイアウトから削除します。
        定義:
        removeLayoutComponent、インタフェース: LayoutManager
        パラメータ:
        c - 削除されるコンポーネント
      • getVerticalScrollBarPolicy

        public int getVerticalScrollBarPolicy()
        垂直スクロール・バーの表示ポリシーを返します。
        戻り値:
        表示ポリシーを示す整数
        関連項目:
        setVerticalScrollBarPolicy(int)
      • setVerticalScrollBarPolicy

        public void setVerticalScrollBarPolicy​(int x)
        垂直スクロール・バーの表示ポリシーを設定します。 オプションは次のとおりです。
        • ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
        • ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
        • ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
        注: アプリケーションでは、このメソッドのJScrollPaneバージョンを使用してください。 このメソッドは、Swing 1.0.2以前のバージョンのクラスに対する下位互換性のためにのみ用意されています。
        パラメータ:
        x - 表示ポリシーを示す整数
        例外:
        IllegalArgumentException - xが上記のリストに示す有効な垂直スクロールバー・ポリシーでない場合
      • getHorizontalScrollBarPolicy

        public int getHorizontalScrollBarPolicy()
        水平スクロール・バーの表示ポリシーを返します。
        戻り値:
        表示ポリシーを示す整数
        関連項目:
        setHorizontalScrollBarPolicy(int)
      • setHorizontalScrollBarPolicy

        public void setHorizontalScrollBarPolicy​(int x)
        水平スクロール・バーの表示ポリシーを設定します。 オプションは次のとおりです。
        • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
        • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
        • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
        注: アプリケーションでは、このメソッドのJScrollPaneバージョンを使用してください。 このメソッドは、Swing 1.0.2以前のバージョンのクラスに対する下位互換性のためにのみ用意されています。
        パラメータ:
        x - 表示ポリシーを示すint値
        例外:
        IllegalArgumentException - xが上記のリストに示す有効な水平スクロールバー・ポリシーでない場合
      • getViewport

        public JViewport getViewport()
        スクロール可能なコンテンツを表示するJViewportオブジェクトを返します。
        戻り値:
        スクロール可能なコンテンツを表示するJViewportオブジェクト
        関連項目:
        JScrollPane.getViewport()
      • getHorizontalScrollBar

        public JScrollBar getHorizontalScrollBar()
        水平スクロールを処理するJScrollBarオブジェクトを返します。
        戻り値:
        水平スクロールを処理するJScrollBarオブジェクト
        関連項目:
        JScrollPane.getHorizontalScrollBar()
      • getVerticalScrollBar

        public JScrollBar getVerticalScrollBar()
        垂直スクロールを処理するJScrollBarオブジェクトを返します。
        戻り値:
        垂直スクロールを処理するJScrollBarオブジェクト
        関連項目:
        JScrollPane.getVerticalScrollBar()
      • getRowHeader

        public JViewport getRowHeader()
        行ヘッダーであるJViewportオブジェクトを返します。
        戻り値:
        行ヘッダーであるJViewportオブジェクト
        関連項目:
        JScrollPane.getRowHeader()
      • getColumnHeader

        public JViewport getColumnHeader()
        列ヘッダーであるJViewportオブジェクトを返します。
        戻り値:
        列ヘッダーであるJViewportオブジェクト
        関連項目:
        JScrollPane.getColumnHeader()
      • getCorner

        public Component getCorner​(String key)
        指定されたコーナーにあるComponentを返します。
        パラメータ:
        key - コーナーを指定するString
        戻り値:
        ScrollPaneConstantsで定義されている、指定されたコーナーのComponentkeyが4つのコーナーのうちのいずれでもない場合、nullが返される
        関連項目:
        JScrollPane.getCorner(java.lang.String)
      • preferredLayoutSize

        public Dimension preferredLayoutSize​(Container parent)
        ScrollPaneの推奨サイズは、イン・セットのサイズに、ビュー・ポートの推奨サイズ、可視ヘッダーの優先サイズ、および現在のビューと現在のスクロール・バーのdisplayPoliciesで表示されるスクロール・バーの推奨サイズを加えた値です。

        rowHeaderは適切な幅の一部として計算され、colHeaderは適切なサイズの一部として計算されます。

        定義:
        preferredLayoutSize、インタフェース: LayoutManager
        パラメータ:
        parent - 配置するContainer
        戻り値:
        ビュー・ポートとスクロール・バーの適切なサイズを指定するDimensionオブジェクト
        関連項目:
        ViewportLayout, LayoutManager
      • minimumLayoutSize

        public Dimension minimumLayoutSize​(Container parent)
        ScrollPaneの最小サイズは、イン・セットのサイズに、ビュー・ポートの最小サイズ、スクロール・ペインのviewportBorderイン・セット、可視ヘッダーの最小サイズ、およびdisplayPolicyがNEVERではないスクロール・バーの最小サイズを加えた値です。
        定義:
        minimumLayoutSize、インタフェース: LayoutManager
        パラメータ:
        parent - 配置するContainer
        戻り値:
        最小サイズを指定するDimensionオブジェクト
        関連項目:
        LayoutManager.preferredLayoutSize(java.awt.Container)
      • layoutContainer

        public void layoutContainer​(Container parent)
        スクロール・ペインを配置します。 各コンポーネントの位置は、次の制約条件によって決まります。
        • 表示されている行ヘッダーは、適切な幅およびビュー・ポートの高さに設定される。
        • 表示されている列ヘッダーは、適切な高さおよびビュー・ポートの幅に設定される。
        • 垂直スクロール・バーが必要な場合(つまり、ビュー・ポートのエクステントの高さがそのビューより低い場合、あるいはdisplayPolicyがALWAYSの場合)、スクロール・バーはサイズに関して行ヘッダーと同様に扱われ、表示される。
        • 水平スクロール・バーが必要な場合は、スクロール・バーは列ヘッダーと同様に扱われる(垂直スクロール・バーの項を参照)。
        • スクロール・ペインのviewportBordernull以外の場合は、ビュー・ポート境界に領域が割り当てられる。
        • ビュー・ポートには、前回の制約条件が報告されたあとで利用可能な領域が割り当てられる。
        • コーナー・コンポーネント(提供されている場合)は、スクロールバーとヘッダーの端に揃えられる。 垂直スクロールバーがある場合は右側のコーナーが表示され、水平スクロール・バーがある場合は下側のコーナーが表示される。行ヘッダーは左側のコーナーに配置され、列ヘッダーは上側のコーナーに配置される。
        定義:
        layoutContainer、インタフェース: LayoutManager
        パラメータ:
        parent - レイアウトするContainer
      • getViewportBorderBounds

        @Deprecated
        public Rectangle getViewportBorderBounds​(JScrollPane scrollpane)
        非推奨。
        JDKのSwing 1.1以降は、JScrollPane.getViewportBorderBounds()に置き換えられています。
        指定されたスクロール・ペインのビュー・ポート境界の境界を返します。
        パラメータ:
        scrollpane - JScrollPaneのインスタンス
        戻り値:
        ビュー・ポート境界のサイズと位置