java.lang.Object
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
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static classScrollPaneLayout.UIResourceScrollPaneLayoutのUIリソース・バージョンです。 -
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected JViewportcolHead列ヘッダーの子です。protected JScrollBarhsbスクロール・ペインの水平スクロール・バーの子です。protected inthsbPolicy水平スクロール・バーの表示ポリシーです。protected ComponentlowerLeft左下隅に表示するコンポーネントです。protected ComponentlowerRight右下隅に表示するコンポーネントです。protected JViewportrowHead行ヘッダーの子です。protected ComponentupperLeft左上隅に表示するコンポーネントです。protected ComponentupperRight右上隅に表示するコンポーネントです。protected JViewportviewportスクロール・ペインのビュー・ポートの子です。protected JScrollBarvsbスクロール・ペインの垂直スクロール・バーの子です。protected intvsbPolicy垂直スクロール・バーの表示ポリシーです。インタフェース javax.swing.ScrollPaneConstantsで宣言されたフィールド
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT -
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ScrollPaneLayout() -
メソッドのサマリー
修飾子と型 メソッド 説明 voidaddLayoutComponent(String s, Component c)指定されたコンポーネントをレイアウトに追加します。protected ComponentaddSingletonComponent(Component oldC, Component newC)既存のコンポーネントを削除します。JViewportgetColumnHeader()列ヘッダーであるJViewportオブジェクトを返します。ComponentgetCorner(String key)指定されたコーナーにあるComponentを返します。JScrollBargetHorizontalScrollBar()水平スクロールを処理するJScrollBarオブジェクトを返します。intgetHorizontalScrollBarPolicy()水平スクロール・バーの表示ポリシーを返します。JViewportgetRowHeader()行ヘッダーであるJViewportオブジェクトを返します。JScrollBargetVerticalScrollBar()垂直スクロールを処理するJScrollBarオブジェクトを返します。intgetVerticalScrollBarPolicy()垂直スクロール・バーの表示ポリシーを返します。JViewportgetViewport()スクロール可能なコンテンツを表示するJViewportオブジェクトを返します。RectanglegetViewportBorderBounds(JScrollPane scrollpane)非推奨。JDKのSwing 1.1以降は、JScrollPane.getViewportBorderBounds()に置き換えられています。voidlayoutContainer(Container parent)スクロール・ペインを配置します。DimensionminimumLayoutSize(Container parent)ScrollPaneの最小サイズは、イン・セットのサイズに、ビュー・ポートの最小サイズ、スクロール・ペインのviewportBorderイン・セット、可視ヘッダーの最小サイズ、およびdisplayPolicyがNEVERではないスクロール・バーの最小サイズを加えた値です。DimensionpreferredLayoutSize(Container parent)ScrollPaneの推奨サイズは、イン・セットのサイズに、ビュー・ポートの推奨サイズ、可視ヘッダーの優先サイズ、および現在のビューと現在のスクロール・バーのdisplayPoliciesで表示されるスクロール・バーの推奨サイズを加えた値です。voidremoveLayoutComponent(Component c)指定されたコンポーネントをレイアウトから削除します。voidsetHorizontalScrollBarPolicy(int x)水平スクロール・バーの表示ポリシーを設定します。voidsetVerticalScrollBarPolicy(int x)垂直スクロール・バーの表示ポリシーを設定します。voidsyncWithScrollPane(JScrollPane sp)このメソッドは、ScrollPaneLayoutがJScrollPaneのLayoutManagerとして設定されたあとで呼び出されます。
-
フィールド詳細
-
viewport
protected JViewport viewportスクロール・ペインのビュー・ポートの子です。 デフォルトは空のJViewportです。 -
vsb
protected JScrollBar vsbスクロール・ペインの垂直スクロール・バーの子です。 デフォルトはJScrollBarです。 -
hsb
protected JScrollBar hsbスクロール・ペインの水平スクロール・バーの子です。 デフォルトはJScrollBarです。 -
rowHead
protected JViewport rowHead行ヘッダーの子です。 デフォルトはnullです。 -
colHead
protected JViewport colHead列ヘッダーの子です。 デフォルトはnullです。 -
lowerLeft
protected Component lowerLeft左下隅に表示するコンポーネントです。 デフォルトはnullです。 -
lowerRight
protected Component lowerRight右下隅に表示するコンポーネントです。 デフォルトはnullです。 -
upperLeft
protected Component upperLeft左上隅に表示するコンポーネントです。 デフォルトはnullです。 -
upperRight
protected Component upperRight右上隅に表示するコンポーネントです。 デフォルトはnullです。 -
vsbPolicy
protected int vsbPolicy垂直スクロール・バーの表示ポリシーです。 デフォルトはScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDEDです。このフィールドは現在は使用されていません。代わりに
JScrollPaneフィールドを使用してください。 -
hsbPolicy
protected int hsbPolicy水平スクロール・バーの表示ポリシーです。 デフォルトはScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDEDです。このフィールドは現在は使用されていません。代わりに
JScrollPaneフィールドを使用してください。
-
-
コンストラクタの詳細
-
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
既存のコンポーネントを削除します。 左隅や垂直スクロール・バーなどの新しいコンポーネントを追加すると、既存のコンポーネント(存在する場合)は削除されます。このメソッドは
newCを返します。oldCがnewCと同じでなく、nullでもない場合、それは親から削除されます。- パラメータ:
oldC- 置き換えるComponentnewC- 追加するComponent- 戻り値:
newC
-
addLayoutComponent
指定されたコンポーネントをレイアウトに追加します。 レイアウトは、次のいずれかの値を使用して指定します。- 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
指定されたコーナーにあるComponentを返します。- パラメータ:
key- コーナーを指定するString- 戻り値:
ScrollPaneConstantsで定義されている、指定されたコーナーのComponent。keyが4つのコーナーのうちのいずれでもない場合、nullが返される- 関連項目:
JScrollPane.getCorner(java.lang.String)
-
preferredLayoutSize
ScrollPaneの推奨サイズは、イン・セットのサイズに、ビュー・ポートの推奨サイズ、可視ヘッダーの優先サイズ、および現在のビューと現在のスクロール・バーのdisplayPoliciesで表示されるスクロール・バーの推奨サイズを加えた値です。rowHeaderは適切な幅の一部として計算され、colHeaderは適切なサイズの一部として計算されます。
- 定義:
preferredLayoutSize、インタフェース:LayoutManager- パラメータ:
parent- 配置するContainer- 戻り値:
- ビュー・ポートとスクロール・バーの適切なサイズを指定する
Dimensionオブジェクト - 関連項目:
ViewportLayout,LayoutManager
-
minimumLayoutSize
ScrollPaneの最小サイズは、イン・セットのサイズに、ビュー・ポートの最小サイズ、スクロール・ペインのviewportBorderイン・セット、可視ヘッダーの最小サイズ、およびdisplayPolicyがNEVERではないスクロール・バーの最小サイズを加えた値です。- 定義:
minimumLayoutSize、インタフェース:LayoutManager- パラメータ:
parent- 配置するContainer- 戻り値:
- 最小サイズを指定する
Dimensionオブジェクト - 関連項目:
LayoutManager.preferredLayoutSize(java.awt.Container)
-
layoutContainer
public void layoutContainer(Container parent)スクロール・ペインを配置します。 各コンポーネントの位置は、次の制約条件によって決まります。- 表示されている行ヘッダーは、適切な幅およびビュー・ポートの高さに設定される。
- 表示されている列ヘッダーは、適切な高さおよびビュー・ポートの幅に設定される。
- 垂直スクロール・バーが必要な場合(つまり、ビュー・ポートのエクステントの高さがそのビューより低い場合、あるいは
displayPolicyがALWAYSの場合)、スクロール・バーはサイズに関して行ヘッダーと同様に扱われ、表示される。 - 水平スクロール・バーが必要な場合は、スクロール・バーは列ヘッダーと同様に扱われる(垂直スクロール・バーの項を参照)。
- スクロール・ペインの
viewportBorderがnull以外の場合は、ビュー・ポート境界に領域が割り当てられる。 - ビュー・ポートには、前回の制約条件が報告されたあとで利用可能な領域が割り当てられる。
- コーナー・コンポーネント(提供されている場合)は、スクロールバーとヘッダーの端に揃えられる。 垂直スクロールバーがある場合は右側のコーナーが表示され、水平スクロール・バーがある場合は下側のコーナーが表示される。行ヘッダーは左側のコーナーに配置され、列ヘッダーは上側のコーナーに配置される。
- 定義:
layoutContainer、インタフェース:LayoutManager- パラメータ:
parent- レイアウトするContainer
-
getViewportBorderBounds
@Deprecatedpublic Rectangle getViewportBorderBounds(JScrollPane scrollpane)非推奨。JDKのSwing 1.1以降は、JScrollPane.getViewportBorderBounds()に置き換えられています。指定されたスクロール・ペインのビュー・ポート境界の境界を返します。- パラメータ:
scrollpane-JScrollPaneのインスタンス- 戻り値:
- ビュー・ポート境界のサイズと位置
-