モジュール 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
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Container getContentPane()
    contentPaneを返します。
    Component getGlassPane()
    glassPaneを返します。
    JLayeredPane getLayeredPane()
    layeredPaneを返します。
    JRootPane getRootPane()
    このコンポーネントの単一のJRootPaneの子を返します。
    void setContentPane​(Container contentPane)
    「contentPane」は、アプリケーション固有のコンポーネントのプライマリ・コンテナです。
    void setGlassPane​(Component glassPane)
    glassPaneは常にrootPaneの最初の子で、rootPaneのレイアウト・マネージャによって、常にrootPaneと同じ大きさであることが保証されます。
    void setLayeredPane​(JLayeredPane layeredPane)
    contentPaneを管理するコンテナで、場合によってはメニュー・バーも管理します。
  • メソッドの詳細

    • 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()
    • getContentPane

      Container getContentPane()
      contentPaneを返します。
      戻り値:
      contentPaneプロパティの値。
      関連項目:
      setContentPane(java.awt.Container)
    • setLayeredPane

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

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

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

          getRootPane().setLayeredPane(layeredPane);

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

      JLayeredPane getLayeredPane()
      layeredPaneを返します。
      戻り値:
      layeredPaneプロパティの値。
      関連項目:
      setLayeredPane(javax.swing.JLayeredPane)
    • setGlassPane

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

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

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

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

      Component getGlassPane()
      glassPaneを返します。
      戻り値:
      glassPaneプロパティの値。
      関連項目:
      setGlassPane(java.awt.Component)