Class SkinRootPaneUI
- 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 TM has been added to the
java.beans package. Please see XMLEncoder.
- Since:
- 1.4
- Version:
- 1.16 02/04/02
- Author:
- Terry Kellerman
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidstatic intcalculateCorner(Component c, int x, int y) Returns the corner that contains the pointx,y, or -1 if the position doesn't match a corner.static intcalculatePosition(int spot, int width) Returns an integer indicating the position ofspotinwidth.static ComponentUICreates a UI for aJRootPane.static intgetCursor(int corner) Returns the Cursor to render for the specified corner.static intgetExtendedState(Frame p_Frame) static intgetWindowDecorationStyle(JRootPane p_Pane) 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.static voidsetExtendedState(Frame p_Frame, int p_Value) voidInvokes supers implementation to uninstall any of its state.Methods inherited from class BasicRootPaneUI
installComponents, installDefaults, installKeyboardActions, installListeners, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListenersMethods inherited from class ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
-
Field Details
-
Frame_MAXIMIZED_BOTH
public static final int Frame_MAXIMIZED_BOTH -
JRootPane_NONE
public static final int JRootPane_NONE
-
-
Constructor Details
-
SkinRootPaneUI
public SkinRootPaneUI()
-
-
Method Details
-
getExtendedState
-
setExtendedState
-
getWindowDecorationStyle
-
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 classBasicRootPaneUI- Parameters:
c- the JRootPane to install state onto
-
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 classBasicRootPaneUI- Parameters:
c- the JRootPane to uninstall state from
-
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.
-
adjust
-
calculateCorner
Returns the corner that contains the pointx,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 ofspotinwidth. The return value will be: 0 if invalid input: '<' BORDER_DRAG_THICKNESS 1 if invalid input: '<' CORNER_DRAG_WIDTH 2 if >= CORNER_DRAG_WIDTH invalid input: '&'invalid input: '&'invalid input: '<' width - BORDER_DRAG_THICKNESS 3 if >= width - CORNER_DRAG_WIDTH 4 if >= width - BORDER_DRAG_THICKNESS 5 otherwise
-