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 int
static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
static int
calculateCorner
(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 int
calculatePosition
(int spot, int width) Returns an integer indicating the position ofspot
inwidth
.static ComponentUI
Creates a UI for aJRootPane
.static int
getCursor
(int corner) Returns the Cursor to render for the specified corner.static int
getExtendedState
(Frame p_Frame) static int
getWindowDecorationStyle
(JRootPane p_Pane) void
Invokes supers implementation ofinstallUI
to install the necessary state onto the passed inJRootPane
to render the metal look and feel implementation ofRootPaneUI
.void
Invoked when a property changes.static void
setExtendedState
(Frame p_Frame, int p_Value) void
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
-
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 ofinstallUI
to install the necessary state onto the passed inJRootPane
to render the metal look and feel implementation ofRootPaneUI
. If thewindowDecorationStyle
property of theJRootPane
is other thanJRootPane.NONE
, this will add a customComponent
to render the widgets toJRootPane
, as well as installing a customBorder
andLayoutManager
on theJRootPane
.- Overrides:
installUI
in classBasicRootPaneUI
- Parameters:
c
- the JRootPane to install state onto
-
uninstallUI
Invokes supers implementation to uninstall any of its state. This will also reset theLayoutManager
of theJRootPane
. If aComponent
has been added to theJRootPane
to render the window decoration style, this method will remove it. Similarly, this will revert the Border and LayoutManager of theJRootPane
to what it was beforeinstallUI
was invoked.- Overrides:
uninstallUI
in classBasicRootPaneUI
- Parameters:
c
- the JRootPane to uninstall state from
-
propertyChange
Invoked when a property changes.MetalRootPaneUI
is primarily interested in events originating from theJRootPane
it has been installed on identifying the propertywindowDecorationStyle
. If thewindowDecorationStyle
has changed to a value other thanJRootPane.NONE
, this will add aComponent
to theJRootPane
to render the window decorations, as well as installing aBorder
on theJRootPane
. On the other hand, if thewindowDecorationStyle
has changed toJRootPane.NONE
, this will remove theComponent
that has been added to theJRootPane
as well resetting the Border to what it was beforeinstallUI
was invoked.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Overrides:
propertyChange
in 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 ofspot
inwidth
. 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
-