RootPaneContainer (Java SE 15 & JDK 15) (original) (raw)

All Known Implementing Classes:

[JApplet](JApplet.html "class in javax.swing"), [JDialog](JDialog.html "class in javax.swing"), [JFrame](JFrame.html "class in javax.swing"), [JInternalFrame](JInternalFrame.html "class in javax.swing"), [JWindow](JWindow.html "class in javax.swing")


public interface RootPaneContainer

This interface is implemented by components that have a single JRootPane child: JDialog, JFrame, JWindow, JApplet, JInternalFrame. The methods in this interface are just covers for the JRootPane properties, e.g. getContentPane() is generally implemented like this:

 public Container getContentPane() {
     return getRootPane().getContentPane();
 }

This interface serves as a marker for Swing GUI builders that need to treat components like JFrame, that contain a single JRootPane, specially. For example in a GUI builder, dropping a component on a RootPaneContainer would be interpreted as frame.getContentPane().add(child).

As a convenience, the standard classes that implement this interface (such as JFrame, JDialog, JWindow, JApplet, and JInternalFrame) have their add, remove, and setLayout methods overridden, so that they delegate calls to the corresponding methods of the ContentPane. For example, you can add a child component to a frame as follows:

   frame.add(child);

instead of:

   frame.getContentPane().add(child);

The behavior of the add andsetLayout methods forJFrame, JDialog, JWindow,JApplet and JInternalFrame is controlled by the rootPaneCheckingEnabled property. If this property is true (the default), then calls to these methods are forwarded to the contentPane; if false, these methods operate directly on the RootPaneContainer. This property is only intended for subclasses, and is therefore protected.

Since:

1.2

See Also:

JRootPane, JFrame, JDialog, JWindow, JApplet, JInternalFrame

Modifier and Type Method Description
Container getContentPane() Returns the contentPane.
Component getGlassPane() Returns the glassPane.
JLayeredPane getLayeredPane() Returns the layeredPane.
JRootPane getRootPane() Return this component's single JRootPane child.
void setContentPane​(Container contentPane) The "contentPane" is the primary container for application specific components.
void setGlassPane​(Component glassPane) The glassPane is always the first child of the rootPane and the rootPanes layout manager ensures that it's always as big as the rootPane.
void setLayeredPane​(JLayeredPane layeredPane) A Container that manages the contentPane and in some cases a menu bar.