public class MetalRootPaneUI extends BasicRootPaneUI
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™
has been added to the java.beans
package.
Please see XMLEncoder
.
Constructor and Description |
---|
MetalRootPaneUI() |
Modifier and Type | Method and Description |
---|---|
static ComponentUI |
createUI(JComponent c)
Creates a UI for a
JRootPane . |
void |
installUI(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(PropertyChangeEvent e)
Invoked when a property changes.
|
void |
uninstallUI(JComponent c)
Invokes supers implementation to uninstall any of its state.
|
installComponents, installDefaults, installKeyboardActions, installListeners, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
public static ComponentUI createUI(JComponent c)
JRootPane
.c
- the JRootPane the RootPaneUI will be created forpublic void installUI(JComponent c)
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
.installUI
in class BasicRootPaneUI
c
- the JRootPane to install state ontoComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void uninstallUI(JComponent c)
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.uninstallUI
in class BasicRootPaneUI
c
- the JRootPane to uninstall state fromComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
public void propertyChange(PropertyChangeEvent e)
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.propertyChange
in interface PropertyChangeListener
propertyChange
in class BasicRootPaneUI
e
- A PropertyChangeEvent object describing the event source
and the property that has changed. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.