RootPaneContainer (Java Platform SE 8 ) (original) (raw)
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.