DefaultDesktopManager (Java SE 13 & JDK 13 )
Description: declaration: module: java.desktop, package: javax.swing, class: DefaultDesktopManager
Keywords: javax.swing.DefaultDesktopManager class

Module java.desktop
Package javax.swing

# 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`

- ## 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, the `desktopIcon`, 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)` | 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`.

  ### 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

    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 interface `DesktopManager`
    Parameters:
      `f` - the `JInternalFrame` to be displayed

  - ### closeFrame

    public void closeFrame​(JInternalFrame f)
    Removes the frame, and, if necessary, the `desktopIcon`, from its parent.
    Specified by:
      `closeFrame` in interface `DesktopManager`
    Parameters:
      `f` - the `JInternalFrame` to be removed

  - ### maximizeFrame

    public void maximizeFrame​(JInternalFrame f)
    Resizes the frame to fill its parents bounds.
    Specified by:
      `maximizeFrame` in interface `DesktopManager`
    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 interface `DesktopManager`
    Parameters:
      `f` - the `JInternalFrame` 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 interface `DesktopManager`
    Parameters:
      `f` - the `JInternalFrame` 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 interface `DesktopManager`
    Parameters:
      `f` - the `JInternalFrame` 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 interface `DesktopManager`
    Parameters:
      `f` - the `JInternalFrame` 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 interface `DesktopManager`
    Parameters:
      `f` - the `JComponent` 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 interface `DesktopManager`
    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 interface `DesktopManager`
    Parameters:
      `f` - the `JComponent` 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` - the `JInternalFrame` for which to remove the `desktopIcon`

  - ### getBoundsForIconOf

    protected Rectangle getBoundsForIconOf​(JInternalFrame f)
    The `iconifyFrame()` code calls this to determine the proper bounds for the desktopIcon.
    Parameters:
      `f` - the `JInternalFrame` of interest
    Returns:
      a `Rectangle` containing bounds for the `desktopIcon`

  - ### 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` - the `JInternalFrame` 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` - the `JInternalFrame` of interest
      `value` - a `Boolean` 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` - the `JInternalFrame` of interest
    Returns:
      `true` if the component has been iconized; otherwise returns `false`