Class MetalRootPaneUI
- All Implemented Interfaces:
PropertyChangeListener, EventListener
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.
- Since:
- 1.4
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ComponentUICreates a UI for aJRootPane.voidInvokes supers implementation ofinstallUIto install the necessary state onto the passed inJRootPaneto render the metal look and feel implementation ofRootPaneUI.voidInvoked when a property changes.voidInvokes supers implementation to uninstall any of its state.Methods declared in class BasicRootPaneUI
installComponents, installDefaults, installKeyboardActions, installListeners, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListenersModifier and TypeMethodDescriptionprotected voidinstallComponents(JRootPane root) Installs components.protected voidInstalls default properties.protected voidRegisters keyboard actions.protected voidinstallListeners(JRootPane root) Registers listeners.protected voiduninstallComponents(JRootPane root) Unregisters components.protected voiduninstallDefaults(JRootPane root) Uninstalls default properties.protected voidUnregisters keyboard actions.protected voiduninstallListeners(JRootPane root) Unregisters listeners.Methods declared in class ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, paint, updateModifier and TypeMethodDescriptionbooleancontains(JComponent c, int x, int y) Returnstrueif the specified x,y location is contained within the look and feel's defined shape of the specified component.getAccessibleChild(JComponent c, int i) Returns theithAccessiblechild of the object.intReturns the number of accessible children in the object.intgetBaseline(JComponent c, int width, int height) Returns the baseline.Returns an enum indicating how the baseline of the component changes as the size changes.Returns the specified component's maximum size appropriate for the look and feel.Returns the specified component's minimum size appropriate for the look and feel.Returns the specified component's preferred size appropriate for the look and feel.voidpaint(Graphics g, JComponent c) Paints the specified component appropriately for the look and feel.voidupdate(Graphics g, JComponent c) Notifies this UI delegate that it is time to paint the specified component.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Constructor Details
-
MetalRootPaneUI
public MetalRootPaneUI()Constructs aMetalRootPaneUI.
-
-
Method Details
-
createUI
Creates a UI for aJRootPane.- Parameters:
c- the JRootPane the RootPaneUI will be created for- Returns:
- the RootPaneUI implementation for the passed in JRootPane
-
installUI
Invokes supers implementation ofinstallUIto install the necessary state onto the passed inJRootPaneto render the metal look and feel implementation ofRootPaneUI. If thewindowDecorationStyleproperty of theJRootPaneis other thanJRootPane.NONE, this will add a customComponentto render the widgets toJRootPane, as well as installing a customBorderandLayoutManageron theJRootPane.- Overrides:
installUIin classComponentUI- Parameters:
c- the JRootPane to install state onto- See Also:
-
uninstallUI
Invokes supers implementation to uninstall any of its state. This will also reset theLayoutManagerof theJRootPane. If aComponenthas been added to theJRootPaneto render the window decoration style, this method will remove it. Similarly, this will revert the Border and LayoutManager of theJRootPaneto what it was beforeinstallUIwas invoked.- Overrides:
uninstallUIin classComponentUI- Parameters:
c- the JRootPane to uninstall state from- See Also:
-
propertyChange
Invoked when a property changes.MetalRootPaneUIis primarily interested in events originating from theJRootPaneit has been installed on identifying the propertywindowDecorationStyle. If thewindowDecorationStylehas changed to a value other thanJRootPane.NONE, this will add aComponentto theJRootPaneto render the window decorations, as well as installing aBorderon theJRootPane. On the other hand, if thewindowDecorationStylehas changed toJRootPane.NONE, this will remove theComponentthat has been added to theJRootPaneas well resetting the Border to what it was beforeinstallUIwas invoked.- Specified by:
propertyChangein interfacePropertyChangeListener- Overrides:
propertyChangein classBasicRootPaneUI- Parameters:
e- A PropertyChangeEvent object describing the event source and the property that has changed.
-