インタフェースRootPaneContainer
- 既知のすべての実装クラス:
JApplet,JDialog,JFrame,JInternalFrame,JWindow
public interface RootPaneContainer
このインタフェースは、JRootPaneの子を1つ持つJDialog、JFrame、JWindow、JApplet、JInternalFrameなどのコンポーネントによって実装されます。 このインタフェースのメソッドは、JRootPaneプロパティのかわりをするだけです。たとえば、
getContentPane()は通常は次のように実装されます。
public Container getContentPane() {
return getRootPane().getContentPane();
}
このインタフェースは、単一のJRootPaneを持つJFrameなどのコンポーネントを特別に処理するSwing GUIビルダーのマーカーとして機能します。 たとえばGUIビルダーでは、RootPaneContainerにコンポーネントをドロップすると、frame.getContentPane().add(child)として解釈されます。
便宜上、このインタフェースを実装する標準クラス(JFrame、JDialog、JWindow、JApplet、JInternalFrameなど)では、呼び出しがContentPaneの対応するメソッドに委譲されるようにadd、remove、setLayoutの各メソッドがオーバーライドされています。 たとえば、次のようにしてフレームに子コンポーネントを追加できます。
frame.add(child);
次は使用しません。
frame.getContentPane().add(child);
JFrame、JDialog、JWindow、JAppletおよびJInternalFrameに対するaddおよびsetLayoutメソッドの動作は、rootPaneCheckingEnabledプロパティによって制御されます。 このプロパティがtrue (デフォルト)の場合は、これらのメソッドの呼出しがcontentPaneに転送されます。falseの場合、これらのメソッドはRootPaneContainerで直接実行されます。 このプロパティはサブクラスのみを対象としているため、保護されています。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明contentPaneを返します。glassPaneを返します。layeredPaneを返します。このコンポーネントの単一のJRootPaneの子を返します。voidsetContentPane(Container contentPane) 「contentPane」は、アプリケーション固有のコンポーネントのプライマリ・コンテナです。voidsetGlassPane(Component glassPane) glassPaneは常にrootPaneの最初の子で、rootPaneのレイアウト・マネージャによって、常にrootPaneと同じ大きさであることが保証されます。voidsetLayeredPane(JLayeredPane layeredPane) contentPaneを管理するコンテナで、場合によってはメニュー・バーも管理します。
-
メソッドの詳細
-
getRootPane
JRootPane getRootPane()このコンポーネントの単一のJRootPaneの子を返します。 このインタフェースの通常の実装では、ほかのメソッドはすべてインタフェース全体で間接的になります。 rootPaneには、glassPaneとlayeredPaneの2つの子があります。- 戻り値:
- このコンポーネントの単一のJRootPaneの子。
- 関連項目:
-
setContentPane
void setContentPane(Container contentPane) 「contentPane」は、アプリケーション固有のコンポーネントのプライマリ・コンテナです。 アプリケーションでは、contentPaneに子を追加したり、そのレイアウト・マネージャを設定したりします。contentPaneをnullにすることはできません。
通常は、次のように実装されます。
getRootPane().setContentPane(contentPane);- パラメータ:
contentPane- このJRootPaneのコンテンツに使用するコンテナ- スロー:
IllegalComponentStateException- コンテンツ・ペイン・パラメータがnullの場合(実行時例外)- 関連項目:
-
getContentPane
-
setLayeredPane
void setLayeredPane(JLayeredPane layeredPane) contentPaneを管理するコンテナで、場合によってはメニュー・バーも管理します。 layeredPaneを利用できるのは、管理しているレイアウトではないRootPaneContainerに子を追加する下位オブジェクトです。 たとえば、内部ダイアログやドラッグ・アンド・ドロップ効果を持つコンポーネントなどです。layeredPaneをnullにすることはできません。
通常は、次のように実装されます。
getRootPane().setLayeredPane(layeredPane);- パラメータ:
layeredPane- レイヤード・ペイン- スロー:
IllegalComponentStateException- 階層化ペイン・パラメータがnullの場合(実行時例外)- 関連項目:
-
getLayeredPane
-
setGlassPane
void setGlassPane(Component glassPane) glassPaneは常にrootPaneの最初の子で、rootPaneのレイアウト・マネージャによって、常にrootPaneと同じ大きさであることが保証されます。 また、デフォルトでは透過で、可視ではありません。 これを使用すると、リスナーを追加して可視に設定することで、すべてのキーボードおよびマウス入力を一時的にグラブできます。デフォルトでは、可視ではありません。glassPaneをnullに設定することはできません。
通常は、次のように実装されます。
getRootPane().setGlassPane(glassPane);- パラメータ:
glassPane- ガラス板- 関連項目:
-
getGlassPane
-