javax.swing

Interface DesktopManager

Known Implementing Classes:
DefaultDesktopManager

public interface DesktopManager

DesktopManagers are responsible for implementing the behaviours for the JInternalFrames that belong to JDesktopPanes. Actions such as maximizing, minimizing, iconifying, etc will be delegated to the DesktopManager.

Method Summary

void
activateFrame(JInternalFrame vframe)
This method should give focus to the JInternalFrame and its default focus owner.
void
beginDraggingFrame(JComponent frame)
This method should be called in preparation for dragging.
void
beginResizingFrame(JComponent frame, int direction)
This method should be called prior to any resizeFrame calls.
void
closeFrame(JInternalFrame frame)
This method should remove the JInternalFrame from its parent.
void
deactivateFrame(JInternalFrame frame)
This method should be called when the JInternalFrame gets deselected and subsequently loses focus.
void
deiconifyFrame(JInternalFrame frame)
This method should remove the JDesktopIcon from its parent and replace it with the JInternalFrame that the JDesktopIcon represents.
void
dragFrame(JComponent frame, int x, int y)
This method drags the given JInternalFrame to the given x and y coordinates.
void
endDraggingFrame(JComponent frame)
This method should be called after dragFrame calls.
void
endResizingFrame(JComponent frame)
This method is called to signify that the resize is finished.
void
iconifyFrame(JInternalFrame frame)
This method should remove the JInternalFrame from its parent and replace it with a JDesktopIcon.
void
maximizeFrame(JInternalFrame frame)
This method should maximize the JInternalFrame to match its parent's bounds.
void
minimizeFrame(JInternalFrame frame)
This method should restore the JInternalFrame to its normal bounds.
void
openFrame(JInternalFrame frame)
This method will cause the JInternalFrame to be displayed in the set location.
void
resizeFrame(JComponent frame, int x, int y, int width, int height)
This method is called to resize the given JInternalFrame to the given bounds.
void
setBoundsForFrame(JComponent frame, int x, int y, int width, int height)
This method does the actual work for reshaping the JInternalFrame.

Method Details

activateFrame

public void activateFrame(JInternalFrame vframe)
This method should give focus to the JInternalFrame and its default focus owner.
Parameters:
vframe - The JInternalFrame to activate.

beginDraggingFrame

public void beginDraggingFrame(JComponent frame)
This method should be called in preparation for dragging. This needs to be called prior to dragFrame calls so that the DesktopManager can prepare any state information.
Parameters:
frame - The JInternalFrame to prepare for dragging.

beginResizingFrame

public void beginResizingFrame(JComponent frame,
                               int direction)
This method should be called prior to any resizeFrame calls. Any state information needed by the DesktopManager to resize the JInternalFrame will be prepared here.
Parameters:
frame - The JInternalFrame to resize.
direction - One of eight directions specified by SwingConstants.

closeFrame

public void closeFrame(JInternalFrame frame)
This method should remove the JInternalFrame from its parent.
Parameters:
frame - The JInternalFrame to close.

deactivateFrame

public void deactivateFrame(JInternalFrame frame)
This method should be called when the JInternalFrame gets deselected and subsequently loses focus.
Parameters:
frame - The JInternalFrame to deactivate.

deiconifyFrame

public void deiconifyFrame(JInternalFrame frame)
This method should remove the JDesktopIcon from its parent and replace it with the JInternalFrame that the JDesktopIcon represents.
Parameters:
frame - The JInternalFrame to deiconify.

dragFrame

public void dragFrame(JComponent frame,
                      int x,
                      int y)
This method drags the given JInternalFrame to the given x and y coordinates.
Parameters:
frame - The JInternalFrame to drag.
x - The new x coordinate.
y - The new y coordinate.

endDraggingFrame

public void endDraggingFrame(JComponent frame)
This method should be called after dragFrame calls. Any information used by the DesktopManager for dragging the JInternalFrame can be cleared.
Parameters:
frame - The JInternalFrame that finished dragging.

endResizingFrame

public void endResizingFrame(JComponent frame)
This method is called to signify that the resize is finished. Any information used to resize the JInternalFrame can now be cleared.
Parameters:
frame - The JInternalFrame that just finished dragging.

iconifyFrame

public void iconifyFrame(JInternalFrame frame)
This method should remove the JInternalFrame from its parent and replace it with a JDesktopIcon.
Parameters:
frame - The JInternalFrame to iconify.

maximizeFrame

public void maximizeFrame(JInternalFrame frame)
This method should maximize the JInternalFrame to match its parent's bounds.
Parameters:
frame - The JInternalFrame to maximize.

minimizeFrame

public void minimizeFrame(JInternalFrame frame)
This method should restore the JInternalFrame to its normal bounds.
Parameters:
frame - The JInternalFrame to minimize.

openFrame

public void openFrame(JInternalFrame frame)
This method will cause the JInternalFrame to be displayed in the set location. This usually is not needed since the user will add the JInternalFrame to a Container separately.
Parameters:
frame - The JInternalFrame to open.

resizeFrame

public void resizeFrame(JComponent frame,
                        int x,
                        int y,
                        int width,
                        int height)
This method is called to resize the given JInternalFrame to the given bounds.
Parameters:
frame - The JInternalFrame to resize.
x - The new x coordinate.
y - The new y coordinate.
width - The new width.
height - The new height.

setBoundsForFrame

public void setBoundsForFrame(JComponent frame,
                              int x,
                              int y,
                              int width,
                              int height)
This method does the actual work for reshaping the JInternalFrame.
Parameters:
frame - The JInternalFrame to resize.
x - The new x coordinate.
y - The new y coordinate.
width - The new width.
height - The new height.

DesktopManager.java -- Copyright (C) 2002, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.