|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
接口 RootPaneContainer
- 所有已知实现类:
- JApplet, JDialog, JFrame, JInternalFrame, JWindow
-
public interface RootPaneContainer
此接口由具有单个 JRootPane 子组件的组件来实现,这些子组件包括:JDialog、JFrame、JWindow、JApplet、JInternalFrame。此接口中的方法仅为 JRootPane 属性的封面 (covers),例如,getContentPane()
通常按以下方法实现:
public Container getContentPane() { return getRootPane().getContentPane(); }此接口用作 Swing GUI 生成器的标记 (marker),这些生成器需要处理 JFrame 之类的组件,特别是包含单个 JRootPane 的组件。例如,在 GUI 生成器中,删除 RootPaneContainer 上的组件将被解释为
frame.getContentPane().add(child)
。
为了便于使用 JFrame
、JDialog
、JWindow
、JApplet
和 JInternalFrame
,默认情况下,将 add
、remove
和 setLayout
方法的所有调用转发到 contentPane
。这意味着您可以调用:
rootPaneContainer.add(component);而不是:
rootPaneContainer.getContentPane().add(component);
rootPaneCheckingEnabled
属性控制 JFrame
、JDialog
、 JWindow
、JApplet
和 JInternalFrame
的 add
和 setLayout
方法的行为。如果此属性为 true(默认值),则将这些方法的调用转发到 contentPane
;如果为 false,则这些方法直接在 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,在某些情况下为菜单栏。希望将子组件添加到不归布局管理的 RootPaneContainer 的后代可以使用 layeredPane。例如,内部对话框或拖放效果组件。
layeredPane 不能为 null。
通常使用以下方法实现
getRootPane().setLayeredPane(layeredPane);
-
- 抛出:
IllegalComponentStateException
- (a runtime exception) 如果分层窗格参数为 null- 另请参见:
getLayeredPane()
,JRootPane.getLayeredPane()
getLayeredPane
JLayeredPane getLayeredPane()
- 返回 layeredPane。
-
- 返回:
- layeredPane 属性的值。
- 另请参见:
setLayeredPane(javax.swing.JLayeredPane)
setGlassPane
void setGlassPane(Component glassPane)
-
glassPane 始终为 rootPane 的第一个子组件,rootPanes 布局管理器确保它始终与 rootPane 一样大。默认情况下,它是透明的,不可见。通过添加侦听器并使它变得可见,可以将它用于临时捕获所有的键盘和鼠标输入。默认情况下,它不可见。
glassPane 不能为 null。
通常使用以下方法实现
getRootPane().setGlassPane(glassPane);
getGlassPane
Component getGlassPane()
- 返回 glassPane。
-
- 返回:
- glassPane 属性的值。
- 另请参见:
setGlassPane(java.awt.Component)