Class SkinRootPaneUI

  • All Implemented Interfaces:
    java.beans.PropertyChangeListener, java.util.EventListener

    public final class SkinRootPaneUI
    extends javax.swing.plaf.basic.BasicRootPaneUI
    Provides the metal look and feel implementation of RootPaneUI.

    MetalRootPaneUI provides support for the windowDecorationStyle property of JRootPane.MetalRootPaneUI does this by way of installing a custom LayoutManager, a private Component to render the appropriate widgets, and a private Border. The LayoutManager is always installed, regardless of the value of the windowDecorationStyle property, but the Border and Component are only installed/added if the windowDecorationStyle is other than JRootPane.NONE.

    Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans TM has been added to the java.beans package. Please see XMLEncoder.

    Since:
    1.4
    Version:
    1.16 02/04/02
    Author:
    Terry Kellerman
    • Constructor Summary

      Constructors 
      Constructor Description
      SkinRootPaneUI()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void adjust​(java.awt.Rectangle bounds, java.awt.Dimension min, int deltaX, int deltaY, int deltaWidth, int deltaHeight)  
      static int calculateCorner​(java.awt.Component c, int x, int y)
      Returns the corner that contains the point x,y, or -1 if the position doesn't match a corner.
      static int calculatePosition​(int spot, int width)
      Returns an integer indicating the position of spot in width.
      static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent c)
      Creates a UI for a JRootPane.
      static int getCursor​(int corner)
      Returns the Cursor to render for the specified corner.
      static int getExtendedState​(java.awt.Frame p_Frame)  
      static int getWindowDecorationStyle​(javax.swing.JRootPane p_Pane)  
      void installUI​(javax.swing.JComponent c)
      Invokes supers implementation of installUI to install the necessary state onto the passed in JRootPane to render the metal look and feel implementation of RootPaneUI.
      void propertyChange​(java.beans.PropertyChangeEvent e)
      Invoked when a property changes.
      static void setExtendedState​(java.awt.Frame p_Frame, int p_Value)  
      void uninstallUI​(javax.swing.JComponent c)
      Invokes supers implementation to uninstall any of its state.
      • Methods inherited from class javax.swing.plaf.basic.BasicRootPaneUI

        installComponents, installDefaults, installKeyboardActions, installListeners, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners
      • Methods inherited from class javax.swing.plaf.ComponentUI

        contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • Frame_MAXIMIZED_BOTH

        public static final int Frame_MAXIMIZED_BOTH
      • JRootPane_NONE

        public static final int JRootPane_NONE
    • Constructor Detail

      • SkinRootPaneUI

        public SkinRootPaneUI()
    • Method Detail

      • getExtendedState

        public static int getExtendedState​(java.awt.Frame p_Frame)
      • setExtendedState

        public static void setExtendedState​(java.awt.Frame p_Frame,
                                            int p_Value)
      • getWindowDecorationStyle

        public static int getWindowDecorationStyle​(javax.swing.JRootPane p_Pane)
      • createUI

        public static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent c)
        Creates a UI for a JRootPane.
        Parameters:
        c - the JRootPane the RootPaneUI will be created for
        Returns:
        the RootPaneUI implementation for the passed in JRootPane
      • installUI

        public void installUI​(javax.swing.JComponent c)
        Invokes supers implementation of installUI to install the necessary state onto the passed in JRootPane to render the metal look and feel implementation of RootPaneUI. If the windowDecorationStyle property of the JRootPane is other than JRootPane.NONE, this will add a custom Component to render the widgets to JRootPane, as well as installing a custom Border and LayoutManager on the JRootPane.
        Overrides:
        installUI in class javax.swing.plaf.basic.BasicRootPaneUI
        Parameters:
        c - the JRootPane to install state onto
      • uninstallUI

        public void uninstallUI​(javax.swing.JComponent c)
        Invokes supers implementation to uninstall any of its state. This will also reset the LayoutManager of the JRootPane. If a Component has been added to the JRootPane to render the window decoration style, this method will remove it. Similarly, this will revert the Border and LayoutManager of the JRootPane to what it was before installUI was invoked.
        Overrides:
        uninstallUI in class javax.swing.plaf.basic.BasicRootPaneUI
        Parameters:
        c - the JRootPane to uninstall state from
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent e)
        Invoked when a property changes. MetalRootPaneUI is primarily interested in events originating from the JRootPane it has been installed on identifying the property windowDecorationStyle. If the windowDecorationStyle has changed to a value other than JRootPane.NONE, this will add a Component to the JRootPane to render the window decorations, as well as installing a Border on the JRootPane. On the other hand, if the windowDecorationStyle has changed to JRootPane.NONE, this will remove the Component that has been added to the JRootPane as well resetting the Border to what it was before installUI was invoked.
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
        Overrides:
        propertyChange in class javax.swing.plaf.basic.BasicRootPaneUI
        Parameters:
        e - A PropertyChangeEvent object describing the event source and the property that has changed.
      • adjust

        public static void adjust​(java.awt.Rectangle bounds,
                                  java.awt.Dimension min,
                                  int deltaX,
                                  int deltaY,
                                  int deltaWidth,
                                  int deltaHeight)
      • calculateCorner

        public static int calculateCorner​(java.awt.Component c,
                                          int x,
                                          int y)
        Returns the corner that contains the point x,y, or -1 if the position doesn't match a corner.
      • getCursor

        public static int getCursor​(int corner)
        Returns the Cursor to render for the specified corner. This returns 0 if the corner doesn't map to a valid Cursor
      • calculatePosition

        public static int calculatePosition​(int spot,
                                            int width)
        Returns an integer indicating the position of spot in width. The return value will be: 0 if < BORDER_DRAG_THICKNESS 1 if < CORNER_DRAG_WIDTH 2 if >= CORNER_DRAG_WIDTH &&< width - BORDER_DRAG_THICKNESS 3 if >= width - CORNER_DRAG_WIDTH 4 if >= width - BORDER_DRAG_THICKNESS 5 otherwise