JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing
クラス ScrollPaneLayout

java.lang.Object
  |
  +--javax.swing.ScrollPaneLayout
すべての実装インタフェース:
LayoutManager, ScrollPaneConstants, Serializable
直系の既知のサブクラス:
ScrollPaneLayout.UIResource

public class ScrollPaneLayout
extends Object
implements LayoutManager, ScrollPaneConstants, Serializable

JScrollPane が使用するレイアウトマネージャです。ビューポート、2 つのスクロールバー、行ヘッダ、列ヘッダ、および 4 つの「コーナー」コンポーネントを扱います。

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

関連項目:
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)
          推奨されていません。 JDK バージョン Swing1.1 以降は、JScrollPane.getViewportBorderBounds() に置き換えられました。
 void layoutContainer(Container parent)
          スクロールペインを配置します。
 Dimension minimumLayoutSize(Container parent)
          ScrollPane の最小サイズは、インセットのサイズに、ビューポートの最小サイズ、スクロールペインのビューポート境界のインセット、表示ヘッダの最小サイズ、および表示ポリシーが NEVER ではないスクロールバーの最小サイズを加えた値です。
 Dimension preferredLayoutSize(Container parent)
          ScrollPane の適切なサイズは、インセットのサイズに、ビューポート、表示ヘッダ、および現在のビューと表示ポリシーによって表示されるスクロールバーの適切なサイズを加えた値です。
 void removeLayoutComponent(Component c)
          指定されたコンポーネントをレイアウトから削除します。
 void setHorizontalScrollBarPolicy(int x)
          水平スクロールバーの表示ポリシーを設定します。
 void setVerticalScrollBarPolicy(int x)
          垂直スクロールバーの表示ポリシーを設定します。
 void syncWithScrollPane(JScrollPane sp)
          このメソッドは、ScrollPaneLayout が JScrollPane の LayoutManager として設定されたあとで呼び出されます。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

viewport

protected JViewport viewport
スクロール区画のビューポートの子です。デフォルトは空の JViewport です。

関連項目:
JScrollPane.setViewport(javax.swing.JViewport)

vsb

protected JScrollBar vsb
スクロール区画の垂直スクロールバーの子です。デフォルトは JScrollBar です。

関連項目:
JScrollPane.setVerticalScrollBar(javax.swing.JScrollBar)

hsb

protected JScrollBar hsb
スクロール区画の水平スクロールバーの子です。デフォルトは JScrollBar です。

関連項目:
JScrollPane.setHorizontalScrollBar(javax.swing.JScrollBar)

rowHead

protected JViewport rowHead
行ヘッダの子です。デフォルトは null です。

関連項目:
JScrollPane.setRowHeader(javax.swing.JViewport)

colHead

protected JViewport colHead
列ヘッダの子です。デフォルトは null です。

関連項目:
JScrollPane.setColumnHeader(javax.swing.JViewport)

lowerLeft

protected Component lowerLeft
左下隅に表示するコンポーネントです。デフォルトは null です。

関連項目:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

lowerRight

protected Component lowerRight
右下隅に表示するコンポーネントです。デフォルトは null です。

関連項目:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

upperLeft

protected Component upperLeft
左上隅に表示するコンポーネントです。デフォルトは null です。

関連項目:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

upperRight

protected Component upperRight
右上隅に表示するコンポーネントです。デフォルトは null です。

関連項目:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

vsbPolicy

protected int vsbPolicy
垂直スクロールバーの表示ポリシーです。デフォルトは JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED です。

このフィールドは現在は使用されていません。代わりに JScrollPane フィールドを使用してください。

関連項目:
JScrollPane.setVerticalScrollBarPolicy(int)

hsbPolicy

protected int hsbPolicy
水平スクロールバーの表示ポリシーです。デフォルトは JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED です。

このフィールドは現在は使用されていません。代わりに JScrollPane フィールドを使用してください。

関連項目:
JScrollPane.setHorizontalScrollBarPolicy(int)
コンストラクタの詳細

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):


addSingletonComponent

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

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

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

addLayoutComponent

public void addLayoutComponent(String s,
                               Component c)
指定されたコンポーネントをレイアウトに追加します。レイアウトは、次のどれかの値を使って指定します。
  • JScrollPane.VIEWPORT
  • JScrollPane.VERTICAL_SCROLLBAR
  • JScrollPane.HORIZONTAL_SCROLLBAR
  • JScrollPane.ROW_HEADER
  • JScrollPane.COLUMN_HEADER
  • JScrollPane.LOWER_LEFT_CORNER
  • JScrollPane.LOWER_RIGHT_CORNER
  • JScrollPane.UPPER_LEFT_CORNER
  • JScrollPane.UPPER_RIGHT_CORNER

定義:
インタフェース LayoutManager 内の addLayoutComponent
パラメータ:
s - コンポーネント識別子
c - 追加されるコンポーネント
例外:
IllegalArgumentException - s が無効なキーの場合

removeLayoutComponent

public void removeLayoutComponent(Component c)
指定されたコンポーネントをレイアウトから削除します。

定義:
インタフェース LayoutManager 内の removeLayoutComponent
パラメータ:
c - 削除されるコンポーネント

getVerticalScrollBarPolicy

public int getVerticalScrollBarPolicy()
垂直スクロールバーの表示ポリシーを返します。

戻り値:
表示ポリシーを示す整数
関連項目:
setVerticalScrollBarPolicy(int)

setVerticalScrollBarPolicy

public void setVerticalScrollBarPolicy(int x)
垂直スクロールバーの表示ポリシーを設定します。オプションは次のとおりです。
  • JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED
  • JScrollPane.VERTICAL_SCROLLBAR_NEVER
  • JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
注: アプリケーションでは、このメソッドの JScrollPane バージョンを使用してください。このメソッドは、Swing 1.0.2 以前のバージョンのクラスに対する下位互換性のためにのみ用意されています。

パラメータ:
x - 表示ポリシーを示す整数
例外:
IllegalArgumentException - x が上記のリストに示す有効な垂直スクロールバーポリシーでない場合

getHorizontalScrollBarPolicy

public int getHorizontalScrollBarPolicy()
水平スクロールバーの表示ポリシーを返します。

戻り値:
表示ポリシーを示す整数
関連項目:
setHorizontalScrollBarPolicy(int)

setHorizontalScrollBarPolicy

public void setHorizontalScrollBarPolicy(int x)
水平スクロールバーの表示ポリシーを設定します。オプションは次のとおりです。
  • JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED
  • JScrollPane.HOTRIZONTAL_SCROLLBAR_NEVER
  • JScrollPane.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 の適切なサイズは、インセットのサイズに、ビューポート、表示ヘッダ、および現在のビューと表示ポリシーによって表示されるスクロールバーの適切なサイズを加えた値です。

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

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

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
ScrollPane の最小サイズは、インセットのサイズに、ビューポートの最小サイズ、スクロールペインのビューポート境界のインセット、表示ヘッダの最小サイズ、および表示ポリシーが NEVER ではないスクロールバーの最小サイズを加えた値です。

定義:
インタフェース LayoutManager 内の minimumLayoutSize
パラメータ:
parent - 配置する Container
戻り値:
最小サイズを指定する Dimension オブジェクト
関連項目:
LayoutManager.preferredLayoutSize(java.awt.Container)

layoutContainer

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

定義:
インタフェース LayoutManager 内の layoutContainer
パラメータ:
parent - レイアウトする Container

getViewportBorderBounds

public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
推奨されていません。 JDK バージョン Swing1.1 以降は、JScrollPane.getViewportBorderBounds() に置き換えられました。

指定されたスクロールペインのビューポート境界の境界を返します。

戻り値:
ビューポート境界のサイズと位置

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.