-
- 所有已知实现类:
-
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
; 如果是虚假的,这些方法直接在RootPaneContainer
上操作。 此属性仅适用于子类,因此受保护。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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。- 结果
- 这个组件单JRootPane小孩。
- 另请参见:
-
JRootPane
-
setContentPane
void setContentPane(Container contentPane)
“contentPane”是应用程序特定组件的主容器。 应用程序应该将children添加到contentPane,设置其布局管理器等等。contentPane可能不为null。
一般用
getRootPane().setContentPane(contentPane);
实现- 参数
-
contentPane
- 用于此JRootPane内容的容器 - 异常
-
IllegalComponentStateException
- (运行时异常)如果内容窗格参数为空 - 另请参见:
-
JRootPane.getContentPane()
,getContentPane()
-
getContentPane
Container getContentPane()
返回contentPane。- 结果
- contentPane属性的值。
- 另请参见:
-
setContentPane(java.awt.Container)
-
setLayeredPane
void setLayeredPane(JLayeredPane layeredPane)
管理contentPane的容器,在某些情况下是一个菜单栏。 可以使用layeredPane,以便将子节点添加到未布局管理的RootPaneContainer中。 例如内部对话框或拖放效果组件。layeredPane可能不为空。
一般实行
getRootPane().setLayeredPane(layeredPane);
- 参数
-
layeredPane
- 分层窗格 - 异常
-
IllegalComponentStateException
(如果分层窗格参数为空,则为运行时异常) - 另请参见:
-
getLayeredPane()
,JRootPane.getLayeredPane()
-
getLayeredPane
JLayeredPane getLayeredPane()
返回layeredPane。- 结果
- layeredPane属性的值。
- 另请参见:
-
setLayeredPane(javax.swing.JLayeredPane)
-
setGlassPane
void setGlassPane(Component glassPane)
glassPane始终是rootPane的第一个孩子,rootPane布局管理器确保它始终与rootPane一样大。 默认情况下,它是透明的,不可见。 它可以用来临时抓住所有的键盘和鼠标输入添加听众,然后使其可见。 默认情况下,它不可见。glassPane可能不为空。
一般用
getRootPane().setGlassPane(glassPane);
实现- 参数
-
glassPane
- 玻璃窗 - 另请参见:
-
getGlassPane()
,JRootPane.setGlassPane(java.awt.Component)
-
getGlassPane
Component getGlassPane()
返回glassPane。- 结果
- glassPane属性的值。
- 另请参见:
-
setGlassPane(java.awt.Component)
-
-