public class DefaultDesktopManager extends Object implements DesktopManager, Serializable
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.
JDesktopPane
,
JInternalFrame
Constructor and Description |
---|
DefaultDesktopManager() |
Modifier and Type | Method and Description |
---|---|
void |
activateFrame(JInternalFrame f)
This will activate f moving it to the front.
|
void |
beginDraggingFrame(JComponent f)
This method is normally called when the user has indicated that
they will begin dragging a component around.
|
void |
beginResizingFrame(JComponent f,
int direction)
This methods is normally called when the user has indicated that
they will begin resizing the frame.
|
void |
closeFrame(JInternalFrame f)
Removes the frame, and, if necessary, the
desktopIcon , from its parent. |
void |
deactivateFrame(JInternalFrame f)
Generally, indicate that this frame has lost focus.
|
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.
|
void |
endDraggingFrame(JComponent f)
This method signals the end of the dragging session.
|
void |
endResizingFrame(JComponent f)
This method signals the end of the resize session.
|
protected Rectangle |
getBoundsForIconOf(JInternalFrame f)
The iconifyFrame() 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 its
desktopIcon 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 a
maximizeFrame 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)
Calls
setBoundsForFrame with the new values. |
void |
setBoundsForFrame(JComponent f,
int newX,
int newY,
int newWidth,
int newHeight)
This moves the
JComponent 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 the
desktopIcon are valid. |
protected boolean |
wasIcon(JInternalFrame f)
Returns
true if the component has been iconized
and the bounds of the desktopIcon are valid,
otherwise returns false . |
public void openFrame(JInternalFrame f)
openFrame
in interface DesktopManager
public void closeFrame(JInternalFrame f)
desktopIcon
, from its parent.closeFrame
in interface DesktopManager
f
- the JInternalFrame
to be removedpublic void maximizeFrame(JInternalFrame f)
maximizeFrame
in interface DesktopManager
f
- the frame to be resizedpublic void minimizeFrame(JInternalFrame f)
maximizeFrame
call.minimizeFrame
in interface DesktopManager
f
- the JInternalFrame
to be restoredpublic void iconifyFrame(JInternalFrame f)
desktopIcon
to the parent.iconifyFrame
in interface DesktopManager
f
- the JInternalFrame
to be iconifiedpublic void deiconifyFrame(JInternalFrame f)
deiconifyFrame
in interface DesktopManager
f
- the JInternalFrame
to be de-iconifiedpublic void activateFrame(JInternalFrame f)
IS_SELECTED_PROPERTY
to false
.
There can be only one active frame across all Layers.activateFrame
in interface DesktopManager
f
- the JInternalFrame
to be activatedpublic void deactivateFrame(JInternalFrame f)
DesktopManager
deactivateFrame
in interface DesktopManager
public void beginDraggingFrame(JComponent f)
DesktopManager
beginDraggingFrame
in interface DesktopManager
public void dragFrame(JComponent f, int newX, int newY)
endDraggingFrame
is called.dragFrame
in interface DesktopManager
public void endDraggingFrame(JComponent f)
DesktopManager
endDraggingFrame
in interface DesktopManager
public void beginResizingFrame(JComponent f, int direction)
DesktopManager
beginResizingFrame
in interface DesktopManager
public void resizeFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
setBoundsForFrame
with the new values.resizeFrame
in interface DesktopManager
f
- the component to be resizednewX
- the new x-coordinatenewY
- the new y-coordinatenewWidth
- the new widthnewHeight
- the new heightpublic void endResizingFrame(JComponent f)
DesktopManager
endResizingFrame
in interface DesktopManager
public void setBoundsForFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
JComponent
and repaints the damaged areas.setBoundsForFrame
in interface DesktopManager
protected void removeIconFor(JInternalFrame f)
protected Rectangle getBoundsForIconOf(JInternalFrame f)
protected void setPreviousBounds(JInternalFrame f, Rectangle r)
f
- the component about to be resizedr
- the normal bounds to be saved awayprotected Rectangle getPreviousBounds(JInternalFrame f)
f
- the JInternalFrame
of interestprotected void setWasIcon(JInternalFrame f, Boolean value)
desktopIcon
are valid.protected boolean wasIcon(JInternalFrame f)
true
if the component has been iconized
and the bounds of the desktopIcon
are valid,
otherwise returns false
.f
- the JInternalFrame
of interesttrue
if the component has been iconized;
otherwise returns false
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.