模块  java.desktop
软件包  javax.swing

Interface RootPaneContainer

  • 所有已知实现类:
    JAppletJDialogJFrameJInternalFrameJWindow

    public interface RootPaneContainer
    此接口由具有单个JRootPane子组件的组件实现:JDialog,JFrame,JWindow,JApplet,JInternalFrame。 此接口中的方法只是JRootPane属性的覆盖 ,例如getContentPane()通常如下所示:
      public Container getContentPane() {         return getRootPane().getContentPane();     } 
    此接口用作Swing GUI构建器的标记 ,这些构建器需要处理包含单个JRootPane的组件(如JFrame)。 例如,在GUI构建器中,将组件放在RootPaneContainer上将被解释为frame.getContentPane().add(child)

    为方便起见,实现这个接口标准的类(例如JFrameJDialogJWindowJApplet ,和JInternalFrame )具有它们addremove ,和setLayout方法覆盖,以使它们委托给的相应方法的调用ContentPane 例如,您可以将子组件添加到框架,如下所示:

      frame.add(child); 
    代替:
      frame.getContentPane().add(child); 

    的行为addsetLayout方法JFrameJDialogJWindowJAppletJInternalFrame由控制rootPaneCheckingEnabled财产。 如果此属性为true(默认值),则对这些方法的调用将转发到contentPane ; 如果为false,则这些方法直接在RootPaneContainerRootPaneContainer 此属性仅适用于子类,因此受到保护。

    从以下版本开始:
    1.2
    另请参见:
    JRootPaneJFrameJDialogJWindowJAppletJInternalFrame
    • 方法详细信息

      • getRootPane

        JRootPane getRootPane()
        返回此组件的单个JRootPane子项。 该接口的传统实现将使所有其他方法间接通过此接口。 rootPane有两个子节点:glassPane和layeredPane。
        结果
        这个组件单个JRootPane子。
        另请参见:
        JRootPane
      • setContentPane

        void setContentPane​(Container contentPane)
        “contentPane”是应用程序特定组件的主要容器。 应用程序应将子项添加到contentPane,设置其布局管理器等。

        contentPane可能不为null。

        一般用getRootPane().setContentPane(contentPane);实现

        参数
        contentPane - 用于此JRootPane内容的Container
        异常
        IllegalComponentStateException - (运行时异常),如果内容窗格参数为null
        另请参见:
        JRootPane.getContentPane()getContentPane()
      • setLayeredPane

        void setLayeredPane​(JLayeredPane layeredPane)
        管理contentPane的Container,在某些情况下还包含菜单栏。 layeredPane可以由想要将子项添加到未进行布局管理的RootPaneContainer的后代使用。 例如,内部对话框或拖放效果组件。

        layeredPane可能不为null。

        一般用

          getRootPane().setLayeredPane(layeredPane); 
        参数
        layeredPane - 分层窗格
        异常
        IllegalComponentStateException - (运行时异常),如果分层窗格参数为null
        另请参见:
        getLayeredPane()JRootPane.getLayeredPane()
      • setGlassPane

        void setGlassPane​(Component glassPane)
        glassPane始终是rootPane的第一个子节点,rootPanes布局管理器确保它始终与rootPane一样大。 默认情况下,它是透明的,不可见。 它可以通过添加侦听器然后使其可见来临时获取所有键盘和鼠标输入。 默认情况下,它不可见。

        glassPane可能不为空。

        一般用getRootPane().setGlassPane(glassPane);实现

        参数
        glassPane - 玻璃窗格
        另请参见:
        getGlassPane()JRootPane.setGlassPane(java.awt.Component)