Интерфейс RootPaneContainer
- Все известные реализующие классы:
- JApplet, JDialog, JFrame, JInternalFrame, JWindow
public interface RootPaneContainer
Этот интерфейс реализуется компонентами, имеющими единственного потомка JRootPane: JDialog, JFrame, JWindow, JApplet, JInternalFrame. Методы в этом интерфейсе — просто обёртки для свойств JRootPane, например, getContentPane() обычно реализуется так:
public Container getContentPane() {
return getRootPane().getContentPane();
} Этот интерфейс служит меткой для строителей Swing GUI, которым необходимо обращаться со компонентами, как с JFrame, содержащими единственный JRootPane, особенно. Например, в 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. Если это свойство истинно (по умолчанию), то вызовы этих методов перенаправляются в contentPane; если ложно, то эти методы работают непосредственно с RootPaneContainer. Это свойство предназначено только для подклассов и поэтому защищено.
- См. также:
-
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.
- Возвращает:
- единственный дочерний JRootPane компонента.
- См. также:
JRootPane
setContentPane
void setContentPane(Container contentPane)
«contentPane» — основной контейнер для компонентов, специфичных для приложения. Приложения должны добавлять потомков в contentPane, устанавливать его менеджер компоновки и так далее.
contentPane не может быть null.
Обычно реализуется с помощью getRootPane().setContentPane(contentPane);
- Параметры:
-
contentPane— контейнер для содержимого этого JRootPane - Исключения:
-
IllegalComponentStateException— (исключение времени выполнения) если параметр contentPane равен 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);
- Исключения:
-
IllegalComponentStateException— (исключение времени выполнения) если параметр layeredPane равен 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);
getGlassPane
Component getGlassPane()
Возвращает glassPane.
- Возвращает:
- значение свойства glassPane.
- См. также:
setGlassPane(java.awt.Component)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.