-
- 所有已知实现类:
-
JApplet
,JDialog
,JFrame
,JInternalFrame
,JWindow
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)
。为方便起见,实现这个接口标准的类(例如
JFrame
,JDialog
,JWindow
,JApplet
,和JInternalFrame
)具有它们add
,remove
,和setLayout
方法覆盖,以使它们委托给的相应方法的调用ContentPane
。 例如,您可以将子组件添加到框架,如下所示:frame.add(child);
代替:frame.getContentPane().add(child);
的行为
add
种setLayout
方法JFrame
,JDialog
,JWindow
,JApplet
和JInternalFrame
由控制rootPaneCheckingEnabled
财产。 如果此属性为true(默认值),则对这些方法的调用将转发到contentPane
; 如果为false,则这些方法直接在RootPaneContainer
上RootPaneContainer
。 此属性仅适用于子类,因此受到保护。
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 Container
getContentPane()
返回contentPane。Component
getGlassPane()
返回glassPane。JLayeredPane
getLayeredPane()
返回layeredPane。JRootPane
getRootPane()
返回此组件的单个JRootPane子项。void
setContentPane(Container contentPane)
“contentPane”是应用程序特定组件的主要容器。void
setGlassPane(Component glassPane)
glassPane始终是rootPane的第一个子节点,rootPanes布局管理器确保它始终与rootPane一样大。void
setLayeredPane(JLayeredPane layeredPane)
管理contentPane的Container,在某些情况下还包含菜单栏。
-
-
-
方法详细信息
-
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()
-
getContentPane
Container getContentPane()
返回contentPane。- 结果
- contentPane属性的值。
- 另请参见:
-
setContentPane(java.awt.Container)
-
setLayeredPane
void setLayeredPane(JLayeredPane layeredPane)
管理contentPane的Container,在某些情况下还包含菜单栏。 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的第一个子节点,rootPanes布局管理器确保它始终与rootPane一样大。 默认情况下,它是透明的,不可见。 它可以通过添加侦听器然后使其可见来临时获取所有键盘和鼠标输入。 默认情况下,它不可见。glassPane可能不为空。
一般用
getRootPane().setGlassPane(glassPane);
实现- 参数
-
glassPane
- 玻璃窗格 - 另请参见:
-
getGlassPane()
,JRootPane.setGlassPane(java.awt.Component)
-
getGlassPane
Component getGlassPane()
返回glassPane。- 结果
- glassPane属性的值。
- 另请参见:
-
setGlassPane(java.awt.Component)
-
-