|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JScrollPane
軽量コンポーネントのスクロール可能なビューを提供します。JScrollPane は、ビューポート、オプションの垂直スクロールバーと水平スクロールバー、およびオプションの行ヘッダビューポートと列ヘッダビューポートを管理します。詳細は、「The Java Tutorial」の「How to Use Scroll Panes」にある JScrollPane のタスク指向のドキュメントを参照してください。JScrollPane は、重量コンポーネントをサポートしていないことに注意してください。
|
JViewport は、たとえば、テキストファイルなど、データソースへのウィンドウまたは「ビューポート」を提供します。データソースは JViewport のビューによって表示される「スクロール可能なクライアント」(データモデル) です。JScrollPane は、右の図に示すように、基本的に JScrollBar、JViewport、およびそれらの接続から構成されます。
スクロールバーとビューポートのほかに、JScrollPane には列ヘッダと行ヘッダがある場合もあります。これらはそれぞれ setRowHeaderView と setColumnHeaderView を使って指定する JViewport オブジェクトです。列ヘッダビューポートは自動的に左右にスクロールして、メインビューポートの左右へのスクロールを追跡します。垂直にはスクロールしません。行ヘッダも同じように動作します。
デフォルトでは、コーナーは空です。スクロール区画に追加したい機能や装飾がある場合には、setCorner を使ってコンポーネントをコーナーに追加することができます。コーナーコンポーネントのサイズは、ヘッダとその周りのスクロールバーのサイズによって決まります。
メインビューポートの周りにボーダを追加するには、setViewportBorder を使用できます。もちろん、setBorder を使ってスクロール区画全体にボーダを追加することもできます。
標準の Look & Feel (L&F) 表現でこのコンポーネントが使用するキーボードのキーについては、JScrollPane のキーの割り当てを参照してください。
メインのビューポートのビューがそのビューポートよりも小さいか、または不透明な場合、行う必要のある共通のオペレーションは、使用されるバックグラウンドカラーを設定することです。このオペレーションを実行するには、scrollPane.getViewport().setBackground() を使って、ビューポートのバックグラウンドカラーを設定します。ビューポートの色を設定し、スクロール区画の色を設定しないのは、デフォルトで JViewport が不透明であるためです。特に、不透明だと、そのバックグラウンドをバックグラウンドカラーを使って完全に塗りつぶすことになります。したがって、JScrollPane がそのバックグラウンドを描画するとき、ビューポートは通常、同じバックグラウンドの上から描画することになります。
デフォルトで、JScrollPane は ScrollPaneLayout を使用してその子 Components のレイアウトを処理します。ScrollPaneLayout は、次のいずれかの方法でビューポイントのビューを作成するサイズを決定します。
Scrollable を実装する場合は、getPreferredScrollableViewportSize、getScrollableTracksViewportWidth、および getScrollableTracksViewportHeight の組み合わせが使用される
getPreferredSize が使用される
警告:
このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降、すべての JavaBeansTM の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。
JScrollBar,
JViewport,
ScrollPaneLayout,
Scrollable,
Component.getPreferredSize(),
setViewportView(java.awt.Component),
setRowHeaderView(java.awt.Component),
setColumnHeaderView(java.awt.Component),
setCorner(java.lang.String, java.awt.Component),
setViewportBorder(javax.swing.border.Border)| 入れ子クラスの概要 | |
protected class |
JScrollPane.AccessibleJScrollPane
このクラスは JScrollPane クラス用のユーザ補助機能のサポートを実装しています。 |
protected class |
JScrollPane.ScrollBar
デフォルトでは、 JScrollPane はこのクラスのインスタンスであるスクロールバーを作成します。 |
| クラス javax.swing.JComponent から継承した入れ子クラス |
|
| クラス java.awt.Container から継承した入れ子クラス |
|
| クラス java.awt.Component から継承した入れ子クラス |
Component.BltBufferStrategy, Component.FlipBufferStrategy |
| フィールドの概要 | |
protected JViewport |
columnHeader
列ヘッダの子です。 |
protected JScrollBar |
horizontalScrollBar
スクロール区画の水平スクロールバーの子です。 |
protected int |
horizontalScrollBarPolicy
水平スクロールバーの表示ポリシーです。 |
protected Component |
lowerLeft
左下隅に表示するコンポーネントです。 |
protected Component |
lowerRight
右下隅に表示するコンポーネントです。 |
protected JViewport |
rowHeader
行ヘッダの子です。 |
protected Component |
upperLeft
左上隅に表示するコンポーネントです。 |
protected Component |
upperRight
右上隅に表示するコンポーネントです。 |
protected JScrollBar |
verticalScrollBar
スクロール区画の垂直スクロールバーの子です。 |
protected int |
verticalScrollBarPolicy
垂直スクロールバーの表示ポリシーです。 |
protected JViewport |
viewport
スクロール区画のビューポートの子です。 |
| クラス javax.swing.JComponent から継承したフィールド |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| クラス java.awt.Component から継承したフィールド |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| インタフェース java.awt.image.ImageObserver から継承したフィールド |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| コンストラクタの概要 | |
JScrollPane()
必要に応じて水平および垂直の両方のスクロールバーが表示される空の (ビューポイントのビューがない) JScrollPane を作成します。 |
|
JScrollPane(Component view)
指定されたコンポーネントのコンテンツを表示する JScrollPane を作成します。 |
|
JScrollPane(Component view,
int vsbPolicy,
int hsbPolicy)
ビューの位置を 1 組のスクロールバーを使って制御できるビューポート内のビューコンポーネントを表示する、 JScrollPane を作成します。 |
|
JScrollPane(int vsbPolicy,
int hsbPolicy)
スクロールバーポリシーを指定して空の (ビューポイントのビューがない) JScrollPane を作成します。 |
|
| メソッドの概要 | |
JScrollBar |
createHorizontalScrollBar()
デフォルトで JScrollPane.ScrollBar を返します。 |
JScrollBar |
createVerticalScrollBar()
デフォルトで JScrollPane.ScrollBar を返します。 |
protected JViewport |
createViewport()
デフォルトで新しい JViewport を返します。 |
AccessibleContext |
getAccessibleContext()
この JScrollPane に関連した AccessibleContext を返します。 |
JViewport |
getColumnHeader()
列ヘッダを返します。 |
Component |
getCorner(String key)
指定されたコーナーにあるコンポーネントを返します。 |
JScrollBar |
getHorizontalScrollBar()
ビューポートの水平のビュー位置を制御する水平スクロールバーを返します。 |
int |
getHorizontalScrollBarPolicy()
水平スクロールバーのポリシーの値を返します。 |
JViewport |
getRowHeader()
行ヘッダを返します。 |
ScrollPaneUI |
getUI()
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを返します。 |
String |
getUIClassID()
Look & Feel クラスの名前の構築に使用された接頭辞を返します。 |
JScrollBar |
getVerticalScrollBar()
ビューポートの垂直のビュー位置を制御する垂直スクロールバーを返します。 |
int |
getVerticalScrollBarPolicy()
垂直スクロールバーのポリシーの値を返します。 |
JViewport |
getViewport()
現在の JViewport を返します。 |
Border |
getViewportBorder()
ビューポートを囲む Border オブジェクトを返します。 |
Rectangle |
getViewportBorderBounds()
ビューポートのボーダの境界を返します。 |
boolean |
isValidateRoot()
JScrollPane の下位オブジェクトで revalidate を呼び出します。 |
boolean |
isWheelScrollingEnabled()
マウスホイールに応答してスクロールが行われるかどうかを示します。 |
protected String |
paramString()
この JScrollPane の文字列表現を返します。 |
void |
setColumnHeader(JViewport columnHeader)
以前の列ヘッダがある場合はそれを削除します。 |
void |
setColumnHeaderView(Component view)
必要に応じて列ヘッダのビューポートを作成し、ビューを設定してから、列ヘッダのビューポートをスクロール区画に追加します。 |
void |
setComponentOrientation(ComponentOrientation co)
垂直および水平スクロールバーの方向を、 ComponentOrientation 引数で指定されたものに設定します。 |
void |
setCorner(String key,
Component corner)
スクロール区画のコーナーに表示される子を追加します (スペースがある場合)。 |
void |
setHorizontalScrollBar(JScrollBar horizontalScrollBar)
スクロール区画にビューポートの水平のビュー位置を制御するスクロールバーを追加します。 |
void |
setHorizontalScrollBarPolicy(int policy)
水平スクロールバーがスクロール区画にいつ表示されるかを設定します。 |
void |
setLayout(LayoutManager layout)
JScrollPane のレイアウトマネージャを設定します。 |
void |
setRowHeader(JViewport rowHeader)
以前の行ヘッダがある場合はそれを削除します。 |
void |
setRowHeaderView(Component view)
必要に応じて行ヘッダのビューポートを作成し、ビューを設定してから、行ヘッダのビューポートをスクロール区画に追加します。 |
void |
setUI(ScrollPaneUI ui)
コンポーネントの Look & Feel (L&F) を提供する ScrollPaneUI オブジェクトを設定します。 |
void |
setVerticalScrollBar(JScrollBar verticalScrollBar)
スクロール区画にビューポートの垂直のビュー位置を制御するスクロールバーを追加します。 |
void |
setVerticalScrollBarPolicy(int policy)
垂直スクロールバーがスクロール区画にいつ表示されるかを設定します。 |
void |
setViewport(JViewport viewport)
以前のビューポートがある場合はそれを削除し、新しいビューポートのビュー位置を +x、+y 四分区間内に設定し、行および列ヘッダ (存在する場合) と新しいビューポートを同期させ、結果としてスクロールバーとヘッダと新しいビューポートを同期させます。 |
void |
setViewportBorder(Border viewportBorder)
ビューポートのボーダを追加します。 |
void |
setViewportView(Component view)
必要に応じてビューポートを作成してから、ビューを設定します。 |
void |
setWheelScrollingEnabled(boolean handleWheel)
マウスホイールの移動に応答してスクロールを有効または無効にします。 |
void |
updateUI()
現在の ScrollPaneUI オブジェクトを現在のデフォルト Look & Feel のバージョンに置き換えます。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
protected int verticalScrollBarPolicy
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED です。
setVerticalScrollBarPolicy(int)protected int horizontalScrollBarPolicy
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED です。
setHorizontalScrollBarPolicy(int)protected JViewport viewport
JViewport です。
setViewport(javax.swing.JViewport)protected JScrollBar verticalScrollBar
JScrollBar です。
setVerticalScrollBar(javax.swing.JScrollBar)protected JScrollBar horizontalScrollBar
JScrollBar です。
setHorizontalScrollBar(javax.swing.JScrollBar)protected JViewport rowHeader
null です。
setRowHeader(javax.swing.JViewport)protected JViewport columnHeader
null です。
setColumnHeader(javax.swing.JViewport)protected Component lowerLeft
null です。
setCorner(java.lang.String, java.awt.Component)protected Component lowerRight
null です。
setCorner(java.lang.String, java.awt.Component)protected Component upperLeft
null です。
setCorner(java.lang.String, java.awt.Component)protected Component upperRight
null です。
setCorner(java.lang.String, java.awt.Component)| コンストラクタの詳細 |
public JScrollPane(Component view,
int vsbPolicy,
int hsbPolicy)
JScrollPane を作成します。スクロールバーのポリシーは、スクロールバーがいつ表示されるかを指定します。たとえば、vsbPolicy が VERTICAL_SCROLLBAR_AS_NEEDED であれば、垂直スクロールバーはビューが垂直方向に収まらない場合にだけ表示されます。利用可能なポリシーの設定は setVerticalScrollBarPolicy(int) および setHorizontalScrollBarPolicy(int) にリストされています。
view - スクロール区画のビューポートに表示するコンポーネントvsbPolicy - 垂直スクロールバーのポリシーを指定する整数型hsbPolicy - 水平スクロールバーのポリシーを指定する整数型setViewportView(java.awt.Component)public JScrollPane(Component view)
JScrollPane を作成します。コンポーネントのコンテンツがビューより大きい場合は、常に水平および垂直スクロールバーの両方が表示されます。
view - スクロール区画のビューポートに表示するコンポーネントsetViewportView(java.awt.Component)
public JScrollPane(int vsbPolicy,
int hsbPolicy)
JScrollPane を作成します。利用可能なポリシーの設定は setVerticalScrollBarPolicy(int) および setHorizontalScrollBarPolicy(int) にリストされています。
vsbPolicy - 垂直スクロールバーのポリシーを指定する整数型hsbPolicy - 水平スクロールバーのポリシーを指定する整数型setViewportView(java.awt.Component)public JScrollPane()
JScrollPane を作成します。
| メソッドの詳細 |
public ScrollPaneUI getUI()
ScrollPaneUI オブジェクトsetUI(javax.swing.plaf.ScrollPaneUI)public void setUI(ScrollPaneUI ui)
ScrollPaneUI オブジェクトを設定します。
ui - ScrollPaneUI L&F オブジェクトgetUI()public void updateUI()
ScrollPaneUI オブジェクトを現在のデフォルト Look & Feel のバージョンに置き換えます。デフォルトの Look & Feel が変更されたときに呼び出されます。
JComponent 内の updateUIJComponent.updateUI(),
UIManager.getUI(javax.swing.JComponent)public String getUIClassID()
JComponent 内の getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)public void setLayout(LayoutManager layout)
JScrollPane のレイアウトマネージャを設定します。このメソッドは、java.awt.Container の setLayout をオーバーライドして、ScrollPaneLayout のサブクラスである LayoutManager だけが JScrollPane で使用できることが保証されるようにします。layout が null でない場合は、このメソッドはその上に syncWithScrollPane を呼び出します。
Container 内の setLayoutlayout - 指定されたレイアウトマネージャ
ClassCastException - レイアウトが ScrollPaneLayout でない場合Container.getLayout(),
Container.setLayout(java.awt.LayoutManager)public boolean isValidateRoot()
JScrollPane の下位オブジェクトで revalidate を呼び出します。たとえば、ビューポートのビューは、JScrollPane とそのすべての下位オブジェクトを検証する要求がキューに入れられるようにします。
JComponent 内の isValidateRootJComponent.revalidate()public int getVerticalScrollBarPolicy()
verticalScrollBarPolicy プロパティsetVerticalScrollBarPolicy(int)public void setVerticalScrollBarPolicy(int policy)
policy - 上記の 3 つの値のどれか
IllegalArgumentException - policy が上記の正当な値のどれかではない場合getVerticalScrollBarPolicy()public int getHorizontalScrollBarPolicy()
horizontalScrollBarPolicy プロパティsetHorizontalScrollBarPolicy(int)public void setHorizontalScrollBarPolicy(int policy)
policy - 上記の 3 つの値のどれか
IllegalArgumentException - policy が上記の正当な値のどれかではない場合getHorizontalScrollBarPolicy()public Border getViewportBorder()
Border オブジェクトを返します。
viewportBorder プロパティsetViewportBorder(javax.swing.border.Border)public void setViewportBorder(Border viewportBorder)
JViewport は JComponent のボーダプロパティをサポートしません。同様に、JScrollPane のビューポートを設定しても、viewportBorder プロパティには影響しません。
このプロパティのデフォルト値は Look & Feel の実装によって算出されます。
viewportBorder - 追加されるボーダgetViewportBorder(),
setViewport(javax.swing.JViewport)public Rectangle getViewportBorderBounds()
Rectangle オブジェクトpublic JScrollBar createHorizontalScrollBar()
JScrollPane.ScrollBar を返します。サブクラスはこのメソッドをオーバーライドして ScrollPaneUI の実装に対して JScrollBar サブクラスの使用を強制することもできます。水平スクロールバーを作成するために ScrollPaneUI の実装によって使用されます。
JScrollBarJScrollBarpublic JScrollBar getHorizontalScrollBar()
horizontalScrollBar プロパティsetHorizontalScrollBar(javax.swing.JScrollBar)public void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
JScrollPane はデフォルトで水平および垂直スクロールバーを作成するので、このメソッドは通常不要です。
horizontalScrollBar - 追加される水平スクロールバーcreateHorizontalScrollBar(),
getHorizontalScrollBar()public JScrollBar createVerticalScrollBar()
JScrollPane.ScrollBar を返します。サブクラスはこのメソッドをオーバーライドして ScrollPaneUI の実装に対して JScrollBar サブクラスを強制的に使用することもできます。垂直スクロールバーを作成するために ScrollPaneUI の実装によって使用されます。
JScrollBarJScrollBarpublic JScrollBar getVerticalScrollBar()
verticalScrollBar プロパティsetVerticalScrollBar(javax.swing.JScrollBar)public void setVerticalScrollBar(JScrollBar verticalScrollBar)
JScrollPane はデフォルトで水平および垂直スクロールバーを作成するので、このメソッドは通常不要です。
verticalScrollBar - 追加される新規の垂直スクロールバーcreateVerticalScrollBar(),
getVerticalScrollBar()protected JViewport createViewport()
JViewport を返します。setViewportView、setRowHeaderView、および setColumnHeaderView で (必要に応じて) ビューポートを作成するのに使います。サブクラスは、JViewport のサブクラスを返すようにこのメソッドをオーバーライドすることもできます。
JViewportpublic JViewport getViewport()
JViewport を返します。
viewport プロパティsetViewport(javax.swing.JViewport)public void setViewport(JViewport viewport)
ほとんどのアプリケーションの場合、ビューポートとスクロール区画へのビューの追加には setViewportView を使ったほうが便利です。
viewport - 使用される新しいビューポート。ビューポートが null の場合、以前のビューポートは削除され、新しいビューポートが null に設定されるcreateViewport(),
getViewport(),
setViewportView(java.awt.Component)public void setViewportView(Component view)
JScrollPane のコンストラクタにビューを提供しないアプリケーションは、このメソッドを使って、次のようにして、スクロール区画に表示されるスクロール可能な子を指定する必要があります。
JScrollPane scrollpane = new JScrollPane(); scrollpane.setViewportView(myBigComponentToScroll);アプリケーションは直接スクロール区画に子を追加すべきできありません。
view - ビューポートに追加するコンポーネントsetViewport(javax.swing.JViewport),
JViewport.setView(java.awt.Component)public JViewport getRowHeader()
rowHeader プロパティsetRowHeader(javax.swing.JViewport)public void setRowHeader(JViewport rowHeader)
null でない場合は、ビュー位置の y 座標とビューポート (存在する場合) を同期させてからスクロール区画に追加します。
ほとんどのアプリケーションの場合、スクロール区画への行ヘッダコンポーネントとビューポートの追加には setRowHeaderView を使ったほうが便利です。
rowHeader - 使用される新しい行ヘッダ。null の場合、以前の行ヘッダは削除され、新しい行ヘッダが null に設定されるgetRowHeader(),
setRowHeaderView(java.awt.Component)public void setRowHeaderView(Component view)
JScrollPane scrollpane = new JScrollPane(); scrollpane.setViewportView(myBigComponentToScroll); scrollpane.setRowHeaderView(myBigComponentsRowHeader);
view - 行ヘッダとして表示するコンポーネントsetRowHeader(javax.swing.JViewport),
JViewport.setView(java.awt.Component)public JViewport getColumnHeader()
columnHeader プロパティsetColumnHeader(javax.swing.JViewport)public void setColumnHeader(JViewport columnHeader)
null でない場合は、ビュー位置の x 座標とビューポート (存在する場合) を同期させてからスクロール区画に追加します。
ほとんどのアプリケーションの場合、スクロール区画への行ヘッダコンポーネントとビューポートの追加には setRowHeaderView を使ったほうが便利です。
getColumnHeader(),
setColumnHeaderView(java.awt.Component)public void setColumnHeaderView(Component view)
JScrollPane scrollpane = new JScrollPane(); scrollpane.setViewportView(myBigComponentToScroll); scrollpane.setColumnHeaderView(myBigComponentsColumnHeader);
view - 列ヘッダとして表示するコンポーネントsetColumnHeader(javax.swing.JViewport),
JViewport.setView(java.awt.Component)public Component getCorner(String key)
key 値を次に示します。
key - 上記の値のどれか
key が無効な場合は null。setCorner(java.lang.String, java.awt.Component)
public void setCorner(String key,
Component corner)
「コーナー」はどの beans プロパティシグニチャーとも一致しませんが、プロパティ名をコーナーキーに設定して PropertyChange イベントが生成されます。
key - コンポーネントを表示するコーナーを識別するcorner - 次のコンポーネントのどれか。IllegalArgumentException - キーが無効な場合public void setComponentOrientation(ComponentOrientation co)
ComponentOrientation 引数で指定されたものに設定します。
Component 内の setComponentOrientationco - 次の値のどれか。ComponentOrientationpublic boolean isWheelScrollingEnabled()
setWheelScrollingEnabled(boolean)public void setWheelScrollingEnabled(boolean handleWheel)
handleWheel - MouseWheelEvent に対してスクロールが自動的に行われる場合は true、そうでない場合は falseisWheelScrollingEnabled(),
MouseWheelEvent,
MouseWheelListenerprotected String paramString()
JScrollPane の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。
JComponent 内の paramStringJScrollPane の文字列表現public AccessibleContext getAccessibleContext()
Accessible 内の getAccessibleContextJComponent 内の getAccessibleContext
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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.