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 class
ScrollPaneLayout.UIResource
ScrollPaneLayout
のUIリソース・バージョンです。 -
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected JViewport
colHead
列ヘッダーの子です。protected JScrollBar
hsb
スクロール・ペインの水平スクロール・バーの子です。protected int
hsbPolicy
水平スクロール・バーの表示ポリシーです。protected Component
lowerLeft
左下隅に表示するコンポーネントです。protected Component
lowerRight
右下隅に表示するコンポーネントです。protected JViewport
rowHead
行ヘッダーの子です。protected Component
upperLeft
左上隅に表示するコンポーネントです。protected Component
upperRight
右上隅に表示するコンポーネントです。protected JViewport
viewport
スクロール・ペインのビュー・ポートの子です。protected JScrollBar
vsb
スクロール・ペインの垂直スクロール・バーの子です。protected int
vsbPolicy
垂直スクロール・バーの表示ポリシーです。インタフェース 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()
-
メソッドのサマリー
修飾子と型 メソッド 説明 void
addLayoutComponent(String s, Component c)
指定されたコンポーネントをレイアウトに追加します。protected Component
addSingletonComponent(Component oldC, Component newC)
既存のコンポーネントを削除します。JViewport
getColumnHeader()
列ヘッダーであるJViewport
オブジェクトを返します。Component
getCorner(String key)
指定されたコーナーにあるComponent
を返します。JScrollBar
getHorizontalScrollBar()
水平スクロールを処理するJScrollBar
オブジェクトを返します。int
getHorizontalScrollBarPolicy()
水平スクロール・バーの表示ポリシーを返します。JViewport
getRowHeader()
行ヘッダーであるJViewport
オブジェクトを返します。JScrollBar
getVerticalScrollBar()
垂直スクロールを処理するJScrollBar
オブジェクトを返します。int
getVerticalScrollBarPolicy()
垂直スクロール・バーの表示ポリシーを返します。JViewport
getViewport()
スクロール可能なコンテンツを表示するJViewport
オブジェクトを返します。Rectangle
getViewportBorderBounds(JScrollPane scrollpane)
非推奨。void
layoutContainer(Container parent)
スクロール・ペインを配置します。Dimension
minimumLayoutSize(Container parent)
ScrollPane
の最小サイズは、イン・セットのサイズに、ビュー・ポートの最小サイズ、スクロール・ペインのviewportBorderイン・セット、可視ヘッダーの最小サイズ、およびdisplayPolicyがNEVERではないスクロール・バーの最小サイズを加えた値です。Dimension
preferredLayoutSize(Container parent)
ScrollPane
の推奨サイズは、イン・セットのサイズに、ビュー・ポートの推奨サイズ、可視ヘッダーの優先サイズ、および現在のビューと現在のスクロール・バーのdisplayPoliciesで表示されるスクロール・バーの推奨サイズを加えた値です。void
removeLayoutComponent(Component c)
指定されたコンポーネントをレイアウトから削除します。void
setHorizontalScrollBarPolicy(int x)
水平スクロール・バーの表示ポリシーを設定します。void
setVerticalScrollBarPolicy(int x)
垂直スクロール・バーの表示ポリシーを設定します。void
syncWithScrollPane(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
- 置き換えるComponent
newC
- 追加する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
のインスタンス- 戻り値:
- ビュー・ポート境界のサイズと位置
-
JScrollPane.getViewportBorderBounds()
に置き換えられています。