javax.swing.plaf.metal
Class MetalRootPaneUI

java.lang.Object
  |
  +--javax.swing.plaf.ComponentUI
        |
        +--javax.swing.plaf.RootPaneUI
              |
              +--javax.swing.plaf.basic.BasicRootPaneUI
                    |
                    +--javax.swing.plaf.metal.MetalRootPaneUI
All Implemented Interfaces:
java.util.EventListener, java.beans.PropertyChangeListener

public class MetalRootPaneUI
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.

Since:
1.4

Constructor Summary
MetalRootPaneUI()
           
 
Method Summary
static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
          Creates a UI for a JRootPane.
 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.
 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, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetalRootPaneUI

public MetalRootPaneUI()
Method Detail

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. This will also install a new LayoutManager on the JRootPane. 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 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.
Overrides:
propertyChange in class javax.swing.plaf.basic.BasicRootPaneUI
Parameters:
e - A PropertyChangeEvent object describing the event source and the property that has changed.