Spec-Zone.ru › OpenJDK 25

Интерфейс RootPaneContainer

Все известные реализующие классы:
JApplet, JDialog, JFrame, JInternalFrame, JWindow
public interface RootPaneContainer
Этот интерфейс реализуется компонентами, у которых есть единственный дочерний элемент JRootPane: JDialog, JFrame, JWindow, JApplet, JInternalFrame. Методы этого интерфейса — лишь обёртки для свойств JRootPane. Например, 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
См. также:
  • 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 — (исключение времени выполнения), если параметр панели содержимого равен null
См. также:
  • JRootPane.getContentPane()
  • getContentPane()

getContentPane

Container getContentPane()
Возвращает contentPane.
Возвращает:
значение свойства contentPane.
См. также:
  • setContentPane(Container)

setLayeredPane

void setLayeredPane(JLayeredPane layeredPane)
Контейнер, управляющий contentPane и, в некоторых случаях, строкой меню. layeredPane могут использовать потомки, которым необходимо добавить в RootPaneContainer дочерний элемент, не управляемый менеджером компоновки. Например, внутренний диалог или компонент для эффекта перетаскивания.

layeredPane не может иметь значение null.

Обычно реализуется с помощью

   getRootPane().setLayeredPane(layeredPane);
Параметры:
layeredPane — многослойная панель
Исключения:
IllegalComponentStateException — (исключение времени выполнения), если параметр многослойной панели равен null
См. также:
  • getLayeredPane()
  • JRootPane.getLayeredPane()

getLayeredPane

JLayeredPane getLayeredPane()
Возвращает layeredPane.
Возвращает:
значение свойства layeredPane.
См. также:
  • setLayeredPane(JLayeredPane)

setGlassPane

void setGlassPane(Component glassPane)
glassPane всегда является первым дочерним элементом rootPane, а менеджер компоновки rootPane гарантирует, что его размер всегда совпадает с размером rootPane. По умолчанию он прозрачен и невидим. Добавив обработчики и сделав его видимым, можно временно перехватывать весь ввод с клавиатуры и мыши. По умолчанию он невидим.

glassPane не может иметь значение null.

Обычно реализуется с помощью getRootPane().setGlassPane(glassPane);

Параметры:
glassPane — стеклянная панель
См. также:
  • getGlassPane()
  • JRootPane.setGlassPane(Component)

getGlassPane

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, который содержит более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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