java.lang.Object
javax.swing.DefaultDesktopManager
- All Implemented Interfaces:
Serializable
,DesktopManager
public class DefaultDesktopManager extends Object implements DesktopManager, Serializable
This is an implementation of the
DesktopManager
.
It currently implements the basic behaviors for managing
JInternalFrame
s in an arbitrary parent.
JInternalFrame
s that are not children of a
JDesktop
will use this component
to handle their desktop-like actions.
This class provides a policy for the various JInternalFrame methods, it is not meant to be called directly rather the various JInternalFrame methods will call into the DesktopManager.
- Since:
- 1.2
- See Also:
JDesktopPane
,JInternalFrame
-
Constructor Summary
Constructors Constructor Description DefaultDesktopManager()
-
Method Summary
Modifier and Type Method Description void
activateFrame(JInternalFrame f)
This will activate f moving it to the front.void
closeFrame(JInternalFrame f)
Removes the frame, and, if necessary, thedesktopIcon
, from its parent.void
deiconifyFrame(JInternalFrame f)
Removes the desktopIcon from its parent and adds its frame to the parent.void
dragFrame(JComponent f, int newX, int newY)
Moves the visible location of the frame being dragged to the location specified.protected Rectangle
getBoundsForIconOf(JInternalFrame f)
TheiconifyFrame()
code calls this to determine the proper bounds for the desktopIcon.protected Rectangle
getPreviousBounds(JInternalFrame f)
Gets the normal bounds of the component prior to the component being maximized.void
iconifyFrame(JInternalFrame f)
Removes the frame from its parent and adds itsdesktopIcon
to the parent.void
maximizeFrame(JInternalFrame f)
Resizes the frame to fill its parents bounds.void
minimizeFrame(JInternalFrame f)
Restores the frame back to its size and position prior to amaximizeFrame
call.void
openFrame(JInternalFrame f)
Normally this method will not be called.protected void
removeIconFor(JInternalFrame f)
Convenience method to remove the desktopIcon of f is necessary.void
resizeFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
CallssetBoundsForFrame
with the new values.void
setBoundsForFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
This moves theJComponent
and repaints the damaged areas.protected void
setPreviousBounds(JInternalFrame f, Rectangle r)
Stores the bounds of the component just before a maximize call.protected void
setWasIcon(JInternalFrame f, Boolean value)
Sets that the component has been iconized and the bounds of thedesktopIcon
are valid.protected boolean
wasIcon(JInternalFrame f)
Returnstrue
if the component has been iconized and the bounds of thedesktopIcon
are valid, otherwise returnsfalse
.Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javax.swing.DesktopManager
beginDraggingFrame, beginResizingFrame, deactivateFrame, endDraggingFrame, endResizingFrame
-
Constructor Details
-
DefaultDesktopManager
public DefaultDesktopManager()
-
-
Method Details
-
openFrame
Normally this method will not be called. If it is, it tries to determine the appropriate parent from the desktopIcon of the frame. Will remove the desktopIcon from its parent if it successfully adds the frame.- Specified by:
openFrame
in interfaceDesktopManager
- Parameters:
f
- theJInternalFrame
to be displayed
-
closeFrame
Removes the frame, and, if necessary, thedesktopIcon
, from its parent.- Specified by:
closeFrame
in interfaceDesktopManager
- Parameters:
f
- theJInternalFrame
to be removed
-
maximizeFrame
Resizes the frame to fill its parents bounds.- Specified by:
maximizeFrame
in interfaceDesktopManager
- Parameters:
f
- the frame to be resized
-
minimizeFrame
Restores the frame back to its size and position prior to amaximizeFrame
call.- Specified by:
minimizeFrame
in interfaceDesktopManager
- Parameters:
f
- theJInternalFrame
to be restored
-
iconifyFrame
Removes the frame from its parent and adds itsdesktopIcon
to the parent.- Specified by:
iconifyFrame
in interfaceDesktopManager
- Parameters:
f
- theJInternalFrame
to be iconified
-
deiconifyFrame
Removes the desktopIcon from its parent and adds its frame to the parent.- Specified by:
deiconifyFrame
in interfaceDesktopManager
- Parameters:
f
- theJInternalFrame
to be de-iconified
-
activateFrame
This will activate f moving it to the front. It will set the current active frame's (if any)IS_SELECTED_PROPERTY
tofalse
. There can be only one active frame across all Layers.- Specified by:
activateFrame
in interfaceDesktopManager
- Parameters:
f
- theJInternalFrame
to be activated
-
dragFrame
Moves the visible location of the frame being dragged to the location specified. The means by which this occurs can vary depending on the dragging algorithm being used. The actual logical location of the frame might not change untilendDraggingFrame
is called.- Specified by:
dragFrame
in interfaceDesktopManager
- Parameters:
f
- theJComponent
being draggednewX
- the new x-coordinatenewY
- the new y-coordinate
-
resizeFrame
CallssetBoundsForFrame
with the new values.- Specified by:
resizeFrame
in interfaceDesktopManager
- Parameters:
f
- the component to be resizednewX
- the new x-coordinatenewY
- the new y-coordinatenewWidth
- the new widthnewHeight
- the new height
-
setBoundsForFrame
This moves theJComponent
and repaints the damaged areas.- Specified by:
setBoundsForFrame
in interfaceDesktopManager
- Parameters:
f
- theJComponent
being moved or resizednewX
- the new x-coordinatenewY
- the new y-coordinatenewWidth
- the new widthnewHeight
- the new height
-
removeIconFor
Convenience method to remove the desktopIcon of f is necessary.- Parameters:
f
- theJInternalFrame
for which to remove thedesktopIcon
-
getBoundsForIconOf
TheiconifyFrame()
code calls this to determine the proper bounds for the desktopIcon.- Parameters:
f
- theJInternalFrame
of interest- Returns:
- a
Rectangle
containing bounds for thedesktopIcon
-
setPreviousBounds
Stores the bounds of the component just before a maximize call.- Parameters:
f
- the component about to be resizedr
- the normal bounds to be saved away
-
getPreviousBounds
Gets the normal bounds of the component prior to the component being maximized.- Parameters:
f
- theJInternalFrame
of interest- Returns:
- the normal bounds of the component
-
setWasIcon
Sets that the component has been iconized and the bounds of thedesktopIcon
are valid.- Parameters:
f
- theJInternalFrame
of interestvalue
- aBoolean
signifying if component has been iconized
-
wasIcon
Returnstrue
if the component has been iconized and the bounds of thedesktopIcon
are valid, otherwise returnsfalse
.- Parameters:
f
- theJInternalFrame
of interest- Returns:
true
if the component has been iconized; otherwise returnsfalse
-