javax.swing

Interface RootPaneContainer

  • All Known Implementing Classes:
    JApplet, JDialog, JFrame, JInternalFrame, JWindow

    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).

    For conveniance JFrame, JDialog, JWindow, JApplet and JInternalFrame, by default, forward, by default, all calls to the add, remove and setLayout methods, to the contentPane. This means you can call:

     rootPaneContainer.add(component);
     
    instead of:
     rootPaneContainer.getContentPane().add(component);
     

    The behavior of the add and setLayout methods for JFrame, 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.

    See Also:
    JRootPane, JFrame, JDialog, JWindow, JApplet, JInternalFrame
    • Method Detail

      • getRootPane

        JRootPane getRootPane()
        Return this component's single JRootPane child. A conventional implementation of this interface will have all of the other methods indirect through this one. The rootPane has two children: the glassPane and the layeredPane.
        Returns:
        this components single JRootPane child.
        See Also:
        JRootPane
      • setContentPane

        void setContentPane(Container contentPane)
        The "contentPane" is the primary container for application specific components. Applications should add children to the contentPane, set its layout manager, and so on.

        The contentPane may not be null.

        Generally implemented with getRootPane().setContentPane(contentPane);

        Parameters:
        contentPane - the Container to use for the contents of this JRootPane
        Throws:
        IllegalComponentStateException - (a runtime exception) if the content pane parameter is null
        See Also:
        JRootPane.getContentPane(), getContentPane()
      • setLayeredPane

        void setLayeredPane(JLayeredPane layeredPane)
        A Container that manages the contentPane and in some cases a menu bar. The layeredPane can be used by descendants that want to add a child to the RootPaneContainer that isn't layout managed. For example an internal dialog or a drag and drop effect component.

        The layeredPane may not be null.

        Generally implemented with

            getRootPane().setLayeredPane(layeredPane);
        Throws:
        IllegalComponentStateException - (a runtime exception) if the layered pane parameter is null
        See Also:
        getLayeredPane(), JRootPane.getLayeredPane()
      • setGlassPane

        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. By default it's transparent and not visible. It can be used to temporarily grab all keyboard and mouse input by adding listeners and then making it visible. by default it's not visible.

        The glassPane may not be null.

        Generally implemented with getRootPane().setGlassPane(glassPane);

        See Also:
        getGlassPane(), JRootPane.setGlassPane(java.awt.Component)

Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/swing/RootPaneContainer.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:fr Manuel PHP : https://docs.oracle.com

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut