javax.swing

Interface DesktopManager

Known Implementing Classes:
DefaultDesktopManager, WindowsDesktopManager

public interface DesktopManager

DesktopManager objects are owned by a JDesktopPane object. They are responsible for implementing L&F specific behaviors for the JDesktopPane. JInternalFrame implementations should delegate specific behaviors to the DesktopManager. For instance, if a JInternalFrame was asked to iconify, it should try:
    getDesktopPane().getDesktopManager().iconifyFrame(frame);
 
This delegation allows each L&F to provide custom behaviors for desktop-specific actions. (For example, how and where the internal frame's icon would appear.)

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.

See Also:
JDesktopPane, JInternalFrame, JInternalFrame.JDesktopIcon

Method Summary

void
activateFrame(JInternalFrame f)
Generally, indicate that this frame has focus.
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)
Generally, this call should remove the frame from it's parent.
void
deactivateFrame(JInternalFrame f)
Generally, indicate that this frame has lost focus.
void
deiconifyFrame(JInternalFrame f)
Generally, remove any iconic representation that is present and restore the frame to it's original size and location.
void
dragFrame(JComponent f, int newX, int newY)
The user has moved the frame.
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.
void
iconifyFrame(JInternalFrame f)
Generally, remove this frame from it's parent and add an iconic representation.
void
maximizeFrame(JInternalFrame f)
Generally, the frame should be resized to match it's parents bounds.
void
minimizeFrame(JInternalFrame f)
Generally, this indicates that the frame should be restored to it's size and position prior to a maximizeFrame() call.
void
openFrame(JInternalFrame f)
If possible, display this frame in an appropriate location.
void
resizeFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
The user has resized the component.
void
setBoundsForFrame(JComponent f, int newX, int newY, int newWidth, int newHeight)
This is a primitive reshape method.

Method Details

activateFrame

public void activateFrame(JInternalFrame f)
Generally, indicate that this frame has focus. This is usually called after the JInternalFrame's IS_SELECTED_PROPERTY has been set to true.
Usages and Demos :

View More Examples of activateFrame(JInternalFrame f)
   1: 
   2: import javax.swing.DesktopManager;
   3: import javax.swing.Icon;
   4:         ...
   5: 
   6:             DesktopManager desktopManager = desktopPane.getDesktopManager();
   7: 
   8:         ...
   9:             desktopManager.openFrame(internalFrame);
  10:             desktopManager.activateFrame(internalFrame);

View Full Code Here

beginDraggingFrame

public void beginDraggingFrame(JComponent f)
This method is normally called when the user has indicated that they will begin dragging a component around. This method should be called prior to any dragFrame() calls to allow the DesktopManager to prepare any necessary state. Normally f will be a JInternalFrame.
Usages and Demos :

View More Examples of beginDraggingFrame(JComponent f)
   1: import jp.ujihara.javax.swing.DefaultDesktopManager;
   2: import jp.ujihara.javax.swing.DesktopManager;
   3: import jp.ujihara.javax.swing.JComponent;
   4:         ...
   5:     return;
   6:       DesktopManager dm = getDesktopManager();
   7:       Rectangle b = frame.getBounds();
   8:         ...
   9:       activateFrame(frame);
  10:       DesktopManager dm = getDesktopManager();
  11:       int x = e.getX();
  12:         ...
  13: 
  14:       dm.beginDraggingFrame(frame);

View Full Code Here

beginResizingFrame

public void beginResizingFrame(JComponent f,
                               int direction)
This methods is normally called when the user has indicated that they will begin resizing the frame. This method should be called prior to any resizeFrame() calls to allow the DesktopManager to prepare any necessary state. Normally f will be a JInternalFrame.
Usages and Demos :

View More Examples of beginResizingFrame(JComponent f,int direction)
   1: import jp.ujihara.javax.swing.DefaultDesktopManager;
   2: import jp.ujihara.javax.swing.DesktopManager;
   3: import jp.ujihara.javax.swing.JComponent;
   4:         ...
   5:     return;
   6:       DesktopManager dm = getDesktopManager();
   7:       Rectangle b = frame.getBounds();
   8:         ...
   9:       activateFrame(frame);
  10:       DesktopManager dm = getDesktopManager();
  11:       int x = e.getX();
  12:         ...
  13:       direction = sectionOfClick(x, y);
  14:       dm.beginResizingFrame(frame, direction);

View Full Code Here

closeFrame

public void closeFrame(JInternalFrame f)
Generally, this call should remove the frame from it's parent.

deactivateFrame

public void deactivateFrame(JInternalFrame f)
Generally, indicate that this frame has lost focus. This is usually called after the JInternalFrame's IS_SELECTED_PROPERTY has been set to false.

deiconifyFrame

public void deiconifyFrame(JInternalFrame f)
Generally, remove any iconic representation that is present and restore the frame to it's original size and location.
Usages and Demos :

View More Examples of deiconifyFrame(JInternalFrame f)
   1: 
   2: import javax.swing.DesktopManager;
   3: import javax.swing.Icon;
   4:         ...
   5: 
   6:             DesktopManager desktopManager = desktopPane.getDesktopManager();
   7: 
   8:         ...
   9: 
  10:             desktopManager.deiconifyFrame(internalFrame);
  11:             desktopManager.openFrame(internalFrame);

View Full Code Here

dragFrame

public void dragFrame(JComponent f,
                      int newX,
                      int newY)
The user has moved the frame. Calls to this method will be preceded by calls to beginDraggingFrame(). Normally f will be a JInternalFrame.

endDraggingFrame

public void endDraggingFrame(JComponent f)
This method signals the end of the dragging session. Any state maintained by the DesktopManager can be removed here. Normally f will be a JInternalFrame.
Usages and Demos :

View More Examples of endDraggingFrame(JComponent f)
   1: import jp.ujihara.javax.swing.DefaultDesktopManager;
   2: import jp.ujihara.javax.swing.DesktopManager;
   3: import jp.ujihara.javax.swing.JComponent;
   4:         ...
   5:     return;
   6:       DesktopManager dm = getDesktopManager();
   7:       Rectangle b = frame.getBounds();
   8:         ...
   9:       activateFrame(frame);
  10:       DesktopManager dm = getDesktopManager();
  11:       int x = e.getX();
  12:         ...
  13:       else if (e.getSource() == titlePane)
  14:     dm.endDraggingFrame(frame);

View Full Code Here

endResizingFrame

public void endResizingFrame(JComponent f)
This method signals the end of the resize session. Any state maintained by the DesktopManager can be removed here. Normally f will be a JInternalFrame.
Usages and Demos :

View More Examples of endResizingFrame(JComponent f)
   1: import jp.ujihara.javax.swing.DefaultDesktopManager;
   2: import jp.ujihara.javax.swing.DesktopManager;
   3: import jp.ujihara.javax.swing.JComponent;
   4:         ...
   5:     return;
   6:       DesktopManager dm = getDesktopManager();
   7:       Rectangle b = frame.getBounds();
   8:         ...
   9:       activateFrame(frame);
  10:       DesktopManager dm = getDesktopManager();
  11:       int x = e.getX();
  12:         ...
  13:       if (e.getSource() == frame && frame.isResizable())
  14:     dm.endResizingFrame(frame);

View Full Code Here

iconifyFrame

public void iconifyFrame(JInternalFrame f)
Generally, remove this frame from it's parent and add an iconic representation.

maximizeFrame

public void maximizeFrame(JInternalFrame f)
Generally, the frame should be resized to match it's parents bounds.

minimizeFrame

public void minimizeFrame(JInternalFrame f)
Generally, this indicates that the frame should be restored to it's size and position prior to a maximizeFrame() call.

openFrame

public void openFrame(JInternalFrame f)
If possible, display this frame in an appropriate location. Normally, this is not called, as the creator of the JInternalFrame will add the frame to the appropriate parent.
Usages and Demos :

View More Examples of openFrame(JInternalFrame f)
   1: 
   2: import javax.swing.DesktopManager;
   3: import javax.swing.Icon;
   4:         ...
   5: 
   6:             DesktopManager desktopManager = desktopPane.getDesktopManager();
   7: 
   8:         ...
   9:             desktopManager.deiconifyFrame(internalFrame);
  10:             desktopManager.openFrame(internalFrame);
  11:             desktopManager.activateFrame(internalFrame);

View Full Code Here

resizeFrame

public void resizeFrame(JComponent f,
                        int newX,
                        int newY,
                        int newWidth,
                        int newHeight)
The user has resized the component. Calls to this method will be preceded by calls to beginResizingFrame(). Normally f will be a JInternalFrame.

setBoundsForFrame

public void setBoundsForFrame(JComponent f,
                              int newX,
                              int newY,
                              int newWidth,
                              int newHeight)
This is a primitive reshape method.