Class DefaultDesktopManager
- 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
, Serialized Form
Constructor Summary
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, the |
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) | The |
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 its |
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 a |
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) | Calls |
void | setBoundsForFrame(JComponent f,
int newX,
int newY,
int newWidth,
int newHeight) | This moves the |
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 the |
protected boolean | wasIcon(JInternalFrame f) | Returns |
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 Detail
DefaultDesktopManager
public DefaultDesktopManager()
Method Detail
openFrame
public void openFrame(JInternalFrame f)
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
public void closeFrame(JInternalFrame f)
Removes the frame, and, if necessary, the desktopIcon
, from its parent.
- Specified by:
-
closeFrame
in interfaceDesktopManager
- Parameters:
-
f
- theJInternalFrame
to be removed
maximizeFrame
public void maximizeFrame(JInternalFrame f)
Resizes the frame to fill its parents bounds.
- Specified by:
-
maximizeFrame
in interfaceDesktopManager
- Parameters:
-
f
- the frame to be resized
minimizeFrame
public void minimizeFrame(JInternalFrame f)
Restores the frame back to its size and position prior to a maximizeFrame
call.
- Specified by:
-
minimizeFrame
in interfaceDesktopManager
- Parameters:
-
f
- theJInternalFrame
to be restored
iconifyFrame
public void iconifyFrame(JInternalFrame f)
Removes the frame from its parent and adds its desktopIcon
to the parent.
- Specified by:
-
iconifyFrame
in interfaceDesktopManager
- Parameters:
-
f
- theJInternalFrame
to be iconified
deiconifyFrame
public void deiconifyFrame(JInternalFrame f)
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
public void activateFrame(JInternalFrame f)
This will activate f moving it to the front. It will set the current active frame's (if any) IS_SELECTED_PROPERTY
to false
. There can be only one active frame across all Layers.
- Specified by:
-
activateFrame
in interfaceDesktopManager
- Parameters:
-
f
- theJInternalFrame
to be activated
dragFrame
public void dragFrame(JComponent f, int newX, int newY)
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 until endDraggingFrame
is called.
- Specified by:
-
dragFrame
in interfaceDesktopManager
- Parameters:
-
f
- theJComponent
being dragged -
newX
- the new x-coordinate -
newY
- the new y-coordinate
resizeFrame
public void resizeFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
Calls setBoundsForFrame
with the new values.
- Specified by:
-
resizeFrame
in interfaceDesktopManager
- Parameters:
-
f
- the component to be resized -
newX
- the new x-coordinate -
newY
- the new y-coordinate -
newWidth
- the new width -
newHeight
- the new height
setBoundsForFrame
public void setBoundsForFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
This moves the JComponent
and repaints the damaged areas.
- Specified by:
-
setBoundsForFrame
in interfaceDesktopManager
- Parameters:
-
f
- theJComponent
being moved or resized -
newX
- the new x-coordinate -
newY
- the new y-coordinate -
newWidth
- the new width -
newHeight
- the new height
removeIconFor
protected void removeIconFor(JInternalFrame f)
Convenience method to remove the desktopIcon of f is necessary.
- Parameters:
-
f
- theJInternalFrame
for which to remove thedesktopIcon
getBoundsForIconOf
protected Rectangle getBoundsForIconOf(JInternalFrame f)
The iconifyFrame()
code calls this to determine the proper bounds for the desktopIcon.
- Parameters:
-
f
- theJInternalFrame
of interest - Returns:
- a
Rectangle
containing bounds for thedesktopIcon
setPreviousBounds
protected void setPreviousBounds(JInternalFrame f, Rectangle r)
Stores the bounds of the component just before a maximize call.
- Parameters:
-
f
- the component about to be resized -
r
- the normal bounds to be saved away
getPreviousBounds
protected Rectangle getPreviousBounds(JInternalFrame f)
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
protected void setWasIcon(JInternalFrame f, Boolean value)
Sets that the component has been iconized and the bounds of the desktopIcon
are valid.
- Parameters:
-
f
- theJInternalFrame
of interest -
value
- aBoolean
signifying if component has been iconized
wasIcon
protected boolean wasIcon(JInternalFrame f)
Returns true
if the component has been iconized and the bounds of the desktopIcon
are valid, otherwise returns false
.
- Parameters:
-
f
- theJInternalFrame
of interest - Returns:
-
true
if the component has been iconized; otherwise returnsfalse