Интерфейс RootPaneContainer
- Все известные реализующие классы:
JApplet, JDialog, JFrame, JInternalFrame, JWindow
public interface RootPaneContainer
getContentPane() обычно реализуется следующим образом:
public Container getContentPane() {
return getRootPane().getContentPane();
}
Этот интерфейс служит маркером для конструкторов графического интерфейса Swing, которым необходимо особым образом обрабатывать компоненты, такие как JFrame, содержащие единственный JRootPane. Например, в конструкторе графического интерфейса добавление компонента в 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. Это свойство предназначено только для подклассов и поэтому имеет модификатор protected.
- Начиная с:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Container |
getContentPane() |
Возвращает contentPane. |
Component |
getGlassPane() |
Возвращает glassPane. |
JLayeredPane |
getLayeredPane() |
Возвращает layeredPane. |
JRootPane |
getRootPane() |
Возвращает единственный дочерний элемент JRootPane этого компонента. |
void |
setContentPane |
«contentPane» — основной контейнер для компонентов, специфичных для приложения. |
void |
setGlassPane |
glassPane всегда является первым дочерним элементом rootPane, а менеджер компоновки rootPane гарантирует, что его размер всегда совпадает с размером rootPane. |
void |
setLayeredPane |
Контейнер, управляющий contentPane и, в некоторых случаях, строкой меню. |
Подробное описание методов
getRootPane
JRootPane getRootPane()
- Возвращает:
- единственный дочерний элемент JRootPane этого компонента.
- См. также:
setContentPane
void setContentPane(Container contentPane)
contentPane не может иметь значение null.
Обычно реализуется с помощью getRootPane().setContentPane(contentPane);
- Параметры:
-
contentPane— контейнер, используемый для содержимого этого JRootPane - Исключения:
-
IllegalComponentStateException— (исключение времени выполнения), если параметр панели содержимого равен null - См. также:
getContentPane
Container getContentPane()
- Возвращает:
- значение свойства contentPane.
- См. также:
setLayeredPane
void setLayeredPane(JLayeredPane layeredPane)
layeredPane не может иметь значение null.
Обычно реализуется с помощью
getRootPane().setLayeredPane(layeredPane);
- Параметры:
-
layeredPane— многослойная панель - Исключения:
-
IllegalComponentStateException— (исключение времени выполнения), если параметр многослойной панели равен null - См. также:
getLayeredPane
JLayeredPane getLayeredPane()
- Возвращает:
- значение свойства layeredPane.
- См. также:
setGlassPane
void setGlassPane(Component glassPane)
glassPane не может иметь значение null.
Обычно реализуется с помощью getRootPane().setGlassPane(glassPane);
- Параметры:
-
glassPane— стеклянная панель - См. также:
getGlassPane
Component getGlassPane()
- Возвращает:
- значение свойства glassPane.
- См. также:
© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/RootPaneContainer.html