Spec-Zone.ru › OpenJDK 24

Интерфейс 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. Это свойство предназначено только для подклассов и поэтому защищено.

С момента:
1.2
См. также:
  • 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);
Параметры:
layeredPane — 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);

Параметры:
glassPane — glassPane
См. также:
  • getGlassPane()
  • JRootPane.setGlassPane(java.awt.Component)

getGlassPane

Component getGlassPane()
Возвращает glassPane.
Возвращает:
значение свойства glassPane.
См. также:
  • setGlassPane(java.awt.Component)

Отправить сообщение об ошибке или предложить улучшение
Для дополнительной информации по API и документации разработчика, см. документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными путями и рабочими примерами кода. Другие версии.
Java является торговой маркой или зарегистрированной торговой маркой Oracle и/или её аффилированных организаций в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные организации, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование регулируется лицензионными условиями и политикой перераспределения документации.
ПРОЕКТ 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/RootPaneContainer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API