|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JRootPane
JFrame、JDialog、JWindow、JApplet、および JInternalFrame が内部で使用する軽量コンテナです。ルート区画が提供するタスク指向の情報については、「The Java Tutorial」の「How to Use Root Panes」を参照してください。
次のイメージはルート区画を使用するクラス間の関係を示します。

注: JComponent のメソッド getRootPane を使うと、指定されたコンポーネントを格納している JRootPane を取得できます。
![]() |
menuBar コンポーネントはなくてもかまいませんが、layeredPane、contentPane、および glassPane は必ず必要です。これらを null に設定しようとすると、例外が生成されます。
contentPane は JRootPane のすべての子の親である必要があります。次のように直接 JRootPane に追加するのではなく、
rootPane.add(child);
次のように JRootPane の contentPane に追加します。
rootPane.getContentPane().add(child);
同様の原則が、レイアウトマネージャの設定、コンポーネントの削除、および子のリスト表示などでも適用されます。これらのメソッドはすべて JRootPane ではなく、contentPane で呼び出されます。
注:JMenuBar コンポーネントが JRootPane で設定された場合は、フレームの上端に沿って配置されます。contentPaneのデフォルトのレイアウトマネージャは BorderLayout マネージャです。ただし、JRootPane はカスタム LayoutManager を使用します。したがって、JRootPane に追加したコンポーネントのレイアウトマネージャを変更したいときは、必ず次のようなコードを使ってください。rootPane.getContentPane().setLayout(new BoxLayout());
contentPane は、残りの領域に収まるように位置とサイズが調整されます (JMenuBar と contentPane は layeredPane コンポーネントの JLayeredPane.FRAME_CONTENT_LAYER レイヤに追加される)。
layeredPane は JRootPane のすべての子の親です。layeredPane は、複数のレイヤでコンポーネントを追加する機能を提供する JLayeredPane のインスタンスです。この機能は、メニューポップアップやダイアログボックスでの作業およびドラッグなど、区画内のほかのすべてのコンポーネントの一番上にコンポーネントを配置する必要がある状況でとても便利です。
glassPane は JRootPane のほかのすべてのコンポーネントの一番上に置かれます。これにより、ほかのすべてのコンポーネントの上に描画するための便利な場所が提供され、ドラッグや描画のときに便利な、マウスイベントの捕捉が可能になります。glassPane で setVisible を使うと、いつ glassPane がほかの子の上に表示されるか制御できます。デフォルトでは、glassPane は可視ではありません。
JRootPane によって使用されるカスタム LayoutManager は以下のことを保証します。
glassPane がある場合、glassPane は JRootPane (境界 - インセット) の表示可能領域全体を埋める
layeredPane は JRootPane (境界 - インセット) の表示可能領域全体を埋める
menuBar は layeredPane() の上端に配置される
contentPane は、MenuBar を除いた (存在する場合) 表示可能領域全体を埋める
JRootPane の LayoutManager を置換する場合は、これらのビューすべてを管理する必要があります。したがって、通常は JRootPane ではなく contentPane のレイアウトマネージャを変更するようにしてください。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。
JLayeredPane,
JMenuBar,
JWindow,
JFrame,
JDialog,
JApplet,
JInternalFrame,
JComponent,
BoxLayout,
Mixing Heavy and Light Components, 直列化された形式| 内部クラスの概要 | |
protected class |
JRootPane.AccessibleJRootPane
このクラスは JRootPane クラス用のユーザ補助機能のサポートを実装しています。 |
protected class |
JRootPane.RootLayout
layeredPane、glassPane、および menuBar のレイアウトを処理するカスタムレイアウトマネージャです。 |
| クラス javax.swing.JComponent から継承した内部クラス |
JComponent.AccessibleJComponent |
| クラス java.awt.Container から継承した内部クラス |
Container.AccessibleAWTContainer |
| クラス java.awt.Component から継承した内部クラス |
Component.AccessibleAWTComponent |
| フィールドの概要 | |
protected Container |
contentPane
コンテンツ区画です。 |
protected JButton |
defaultButton
区画がフォーカスと、Enter キーを押すなどの UI 固有のアクションを持ったときにアクティブになるボタンです。 |
protected javax.swing.JRootPane.DefaultAction |
defaultPressAction
推奨されていません。 Java 2 プラットフォーム 1.3 以降使われていません。 |
protected javax.swing.JRootPane.DefaultAction |
defaultReleaseAction
推奨されていません。 Java 2 プラットフォーム 1.3 以降使われていません。 |
protected Component |
glassPane
メニューバーとコンテンツ区画にオーバーレイするガラス区画です。 |
protected JLayeredPane |
layeredPane
メニューバーとコンテンツ区画を管理する階層化区画です。 |
protected JMenuBar |
menuBar
メニューバーです。 |
| クラス 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 |
| コンストラクタの概要 | |
JRootPane()
JRootPane を作成し、glassPane、LayeredPane、および contentPane を設定します。 |
|
| メソッドの概要 | |
protected void |
addImpl(Component comp,
Object constraints,
int index)
ガラスコンポーネントの位置が 0 の子に対して強制するためにオーバーライドされます。 |
void |
addNotify()
自身を新しいルート区画として SystemEventQueueUtils に登録します。 |
protected Container |
createContentPane()
デフォルトの contentPane を作成するためにコンストラクタのメソッドによって呼び出されます。 |
protected Component |
createGlassPane()
デフォルトの glassPane を作成するためにコンストラクタのメソッドによって呼び出されます。 |
protected JLayeredPane |
createLayeredPane()
デフォルトの layeredPane を作成するためにコンストラクタのメソッドによって呼び出されます。 |
protected LayoutManager |
createRootLayout()
デフォルトの layoutManager を作成するためにコンストラクタのメソッドによって呼び出されます。 |
AccessibleContext |
getAccessibleContext()
この JRootPane に関連した AccessibleContext を返します。 |
Container |
getContentPane()
ルート区画が親になるコンポーネントを保持するコンテナである、コンテンツ区画を返します。 |
JButton |
getDefaultButton()
この JRootPane の現在のデフォルトボタンを返します。 |
Component |
getGlassPane()
この JRootPane の現在のガラス区画を返します。 |
JMenuBar |
getJMenuBar()
階層化区画からメニューバーを返します。 |
JLayeredPane |
getLayeredPane()
ルート区画が使用する階層化区画を返します。 |
JMenuBar |
getMenuBar()
推奨されていません。 Swing バージョン 1.0.3 で getJMenuBar() に置き換えられました。 |
RootPaneUI |
getUI()
このコンポーネントを描画する L&F オブジェクトを返します。 |
String |
getUIClassID()
このコンポーネントを描画する L&F クラスの名前を指定する文字列を返します。 |
boolean |
isFocusCycleRoot()
JRootPane をフォーカスサイクルのルートにします。 |
boolean |
isOptimizedDrawingEnabled()
GlassPane と ContentPane は同じ境界を持つため、JRootPane はその子をタイリングせず、false を返します。 |
boolean |
isValidateRoot()
この JRootPane の下位オブジェクトが revalidate を呼び出した場合、ここから下へ向かって検証を行います。 |
protected String |
paramString()
この JRootPane の文字列表現を返します。 |
void |
removeNotify()
自身を SystemEventQueueUtils から登録解除します。 |
void |
setContentPane(Container content)
ルート区画が親になるコンポーネントを保持するコンテナである、コンテンツ区画を設定します。 |
void |
setDefaultButton(JButton defaultButton)
この JRootPane の現在のデフォルトボタンを設定します。 |
void |
setGlassPane(Component glass)
指定した Component がこのルート区画のガラス区画になるように設定します。 |
void |
setJMenuBar(JMenuBar menu)
階層化区画で使用されるメニューバーを追加または変更します。 |
void |
setLayeredPane(JLayeredPane layered)
ルート区画に階層化区画を設定します。 |
void |
setMenuBar(JMenuBar menu)
推奨されていません。 Swing バージョン 1.0.3 で setJMenuBar(JMenuBar menu) に置き換えられました。 |
void |
setUI(RootPaneUI ui)
このコンポーネントを描画する L&F オブジェクトを設定します。 |
void |
updateUI()
L&F が変更されたことを示す UIFactory からの通知です。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
protected JMenuBar menuBar
protected Container contentPane
protected JLayeredPane layeredPane
protected Component glassPane
protected JButton defaultButton
protected javax.swing.JRootPane.DefaultAction defaultPressAction
defaultButtonprotected javax.swing.JRootPane.DefaultAction defaultReleaseAction
defaultButton| コンストラクタの詳細 |
public JRootPane()
| メソッドの詳細 |
public RootPaneUI getUI()
public void setUI(RootPaneUI ui)
ui - LabelUI L&F オブジェクトUIDefaults.getUI(javax.swing.JComponent)public void updateUI()
JComponent 内の updateUIJComponent.updateUI()public String getUIClassID()
JComponent 内の getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)protected JLayeredPane createLayeredPane()
protected Container createContentPane()
protected Component createGlassPane()
protected LayoutManager createRootLayout()
public void setJMenuBar(JMenuBar menu)
menu - 追加する JMenuBarpublic void setMenuBar(JMenuBar menu)
setJMenuBar(JMenuBar menu) に置き換えられました。
public JMenuBar getJMenuBar()
public JMenuBar getMenuBar()
getJMenuBar() に置き換えられました。
public void setContentPane(Container content)
content - コンポーネントコンテンツに使用する ContainerIllegalComponentStateException - コンテンツ区画パラメータが null の場合 (実行時例外)public Container getContentPane()
public void setLayeredPane(JLayeredPane layered)
layered - 使用する JLayeredPaneIllegalComponentStateException - 階層化区画パラメータが null の場合 (実行時例外)public JLayeredPane getLayeredPane()
public void setGlassPane(Component glass)
glass - この JRootPane のガラス区画として使用する Componentpublic Component getGlassPane()
setGlassPane(java.awt.Component)public boolean isFocusCycleRoot()
JComponent 内の isFocusCycleRootJComponent.isFocusCycleRoot()public boolean isValidateRoot()
コンポーネントおよびその子孫の再配置の延期された要求、つまり revalidate() の呼び出しは、JRootPane または JScrollPane のどちらかに転送されます。これはどちらのクラスも isValidateRoot() をオーバーライドして true を返すためです。
JComponent 内の isValidateRootJComponent.isValidateRoot()public boolean isOptimizedDrawingEnabled()
JComponent 内の isOptimizedDrawingEnabledpublic void addNotify()
JComponent 内の addNotifyjavax.swing.JComponent からコピーされたタグ:JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)public void removeNotify()
JComponent 内の removeNotifyaddNotify()public void setDefaultButton(JButton defaultButton)
JRootPane の現在のデフォルトボタンを設定します。デフォルトボタンは、ボタンにキーボードフォーカスがあるかどうかにかかわらず、RootPane で UI 定義の起動イベント (通常は Enter キー) が発生したときに起動されるボタンです (RootPane 内に JTextPane などの起動イベントを消費する別のコンポーネントがある場合を除く)。デフォルトの起動が機能するには、ボタンは起動が発生した時点で RootPane の使用可能な子孫である必要があります。この RootPane からデフォルトボタンを削除するには、このプロパティを null に設定します。default - デフォルトボタンになる JButtonJButton.isDefaultButton()public JButton getDefaultButton()
protected void addImpl(Component comp,
Object constraints,
int index)
Container 内の addImpljava.awt.Container からコピーされたタグ:comp - 追加されるコンポーネントconstraints - このコンポーネントの配置条件を表現するオブジェクトindex - コンポーネントを挿入するコンテナのリスト内での位置。-1 は最後に挿入することを意味するContainer.add(java.awt.Component),
Container.add(java.awt.Component, int),
Container.add(java.awt.Component, java.lang.Object),
LayoutManagerprotected String paramString()
null にはなりません。JComponent 内の paramStringpublic AccessibleContext getAccessibleContext()
Accessible 内の getAccessibleContextJComponent 内の getAccessibleContext
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.