モジュール java.desktop
パッケージ javax.swing

インタフェース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)として解釈されます。

    便宜上、このインタフェースを実装する標準クラス(JFrameJDialogJWindowJAppletJInternalFrameなど)では、呼び出しがContentPaneの対応するメソッドに委譲されるようにaddremovesetLayoutの各メソッドがオーバーライドされています。 たとえば、次のようにしてフレームに子コンポーネントを追加できます。

           frame.add(child);
     
    次のように記述する必要はありません。
           frame.getContentPane().add(child);
     

    JFrameJDialogJWindowJAppletおよびJInternalFrameに対するaddおよびsetLayoutメソッドの動作は、rootPaneCheckingEnabledプロパティによって制御されます。 このプロパティがtrue (デフォルト)の場合は、これらのメソッドの呼出しがcontentPaneに転送されます。falseの場合、これらのメソッドはRootPaneContainerで直接実行されます。 このプロパティはサブクラスのみを対象としているため、保護されています。

    導入されたバージョン:
    1.2
    関連項目:
    JRootPane, JFrame, JDialog, JWindow, JApplet, JInternalFrame
    • メソッドの詳細

      • getRootPane

        JRootPane getRootPane()
        このコンポーネントの単一のJRootPaneの子を返します。 このインタフェースの通常の実装では、ほかのメソッドはすべてインタフェース全体で間接的になります。 rootPaneには、glassPaneとlayeredPaneの2つの子があります。
        戻り値:
        このコンポーネントの単一のJRootPaneの子。
        関連項目:
        JRootPane
      • setContentPane

        void setContentPane​(Container contentPane)
        「contentPane」は、アプリケーション固有のコンポーネントのプライマリ・コンテナです。 アプリケーションでは、contentPaneに子を追加したり、そのレイアウト・マネージャを設定したりします。

        contentPaneをnullにすることはできません。

        通常は、次のように実装されます。getRootPane().setContentPane(contentPane);

        パラメータ:
        contentPane - このJRootPaneのコンテンツに使用するコンテナ
        例外:
        IllegalComponentStateException - コンテンツ・ペイン・パラメータがnullの場合(実行時例外)
        関連項目:
        JRootPane.getContentPane(), getContentPane()
      • setLayeredPane

        void setLayeredPane​(JLayeredPane layeredPane)
        contentPaneを管理するコンテナで、場合によってはメニュー・バーも管理します。 layeredPaneを利用できるのは、管理しているレイアウトではないRootPaneContainerに子を追加する下位オブジェクトです。 たとえば、内部ダイアログやドラッグ&ドロップ効果を持つコンポーネントなどです。

        layeredPaneをnullにすることはできません。

        通常は、次のように実装されます。

            getRootPane().setLayeredPane(layeredPane);
        パラメータ:
        layeredPane - レイヤード・ペイン
        例外:
        IllegalComponentStateException - 階層化ペイン・パラメータがnullの場合(実行時例外)
        関連項目:
        getLayeredPane(), JRootPane.getLayeredPane()
      • setGlassPane

        void setGlassPane​(Component glassPane)
        glassPaneは常にrootPaneの最初の子で、rootPaneのレイアウト・マネージャによって、常にrootPaneと同じ大きさであることが保証されます。 また、デフォルトでは透過で、可視ではありません。 これを使用すると、リスナーを追加して可視に設定することで、すべてのキーボードおよびマウス入力を一時的にグラブできます。デフォルトでは、可視ではありません。

        glassPaneをnullに設定することはできません。

        通常は、次のように実装されます。getRootPane().setGlassPane(glassPane);

        パラメータ:
        glassPane - グラス・ペイン
        関連項目:
        getGlassPane(), JRootPane.setGlassPane(java.awt.Component)