|
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
内の updateUI
JComponent.updateUI()
,
UIManager.getUI(javax.swing.JComponent)
public String getUIClassID()
JComponent
内の getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void setLayout(LayoutManager layout)
JScrollPane
のレイアウトマネージャを設定します。このメソッドは、java.awt.Container
の setLayout
をオーバーライドして、ScrollPaneLayout
のサブクラスである LayoutManager
だけが JScrollPane
で使用できることが保証されるようにします。layout
が null でない場合は、このメソッドはその上に syncWithScrollPane
を呼び出します。
Container
内の setLayout
layout
- 指定されたレイアウトマネージャ
ClassCastException
- レイアウトが ScrollPaneLayout
でない場合Container.getLayout()
,
Container.setLayout(java.awt.LayoutManager)
public boolean isValidateRoot()
JScrollPane
の下位オブジェクトで revalidate
を呼び出します。たとえば、ビューポートのビューは、JScrollPane
とそのすべての下位オブジェクトを検証する要求がキューに入れられるようにします。
JComponent
内の isValidateRoot
JComponent.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
の実装によって使用されます。
JScrollBar
JScrollBar
public JScrollBar getHorizontalScrollBar()
horizontalScrollBar
プロパティsetHorizontalScrollBar(javax.swing.JScrollBar)
public void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
JScrollPane
はデフォルトで水平および垂直スクロールバーを作成するので、このメソッドは通常不要です。
horizontalScrollBar
- 追加される水平スクロールバーcreateHorizontalScrollBar()
,
getHorizontalScrollBar()
public JScrollBar createVerticalScrollBar()
JScrollPane.ScrollBar
を返します。サブクラスはこのメソッドをオーバーライドして ScrollPaneUI
の実装に対して JScrollBar
サブクラスを強制的に使用することもできます。垂直スクロールバーを作成するために ScrollPaneUI
の実装によって使用されます。
JScrollBar
JScrollBar
public JScrollBar getVerticalScrollBar()
verticalScrollBar
プロパティsetVerticalScrollBar(javax.swing.JScrollBar)
public void setVerticalScrollBar(JScrollBar verticalScrollBar)
JScrollPane
はデフォルトで水平および垂直スクロールバーを作成するので、このメソッドは通常不要です。
verticalScrollBar
- 追加される新規の垂直スクロールバーcreateVerticalScrollBar()
,
getVerticalScrollBar()
protected JViewport createViewport()
JViewport
を返します。setViewportView
、setRowHeaderView
、および setColumnHeaderView
で (必要に応じて) ビューポートを作成するのに使います。サブクラスは、JViewport
のサブクラスを返すようにこのメソッドをオーバーライドすることもできます。
JViewport
public 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
内の setComponentOrientation
co
- 次の値のどれか。ComponentOrientation
public boolean isWheelScrollingEnabled()
setWheelScrollingEnabled(boolean)
public void setWheelScrollingEnabled(boolean handleWheel)
handleWheel
- MouseWheelEvent に対してスクロールが自動的に行われる場合は true
、そうでない場合は false
isWheelScrollingEnabled()
,
MouseWheelEvent
,
MouseWheelListener
protected String paramString()
JScrollPane
の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null
にはなりません。
JComponent
内の paramString
JScrollPane
の文字列表現public AccessibleContext getAccessibleContext()
Accessible
内の getAccessibleContext
JComponent
内の 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.