Module java.desktop
Package javax.swing.plaf.basic

## Class BasicDesktopIconUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.DesktopIconUI
    - - javax.swing.plaf.basic.BasicDesktopIconUI

- Direct Known Subclasses:
    `MetalDesktopIconUI`, `SynthDesktopIconUI`

      public class BasicDesktopIconUI
      extends DesktopIconUI

  Basic L&F for a minimized window on a desktop.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BasicDesktopIconUI.MouseInputHandler` | Listens for mouse movements and acts on them.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected JInternalFrame.JDesktopIcon` | `desktopIcon` | The instance of `JInternalFrame.JDesktopIcon`.
    `protected JInternalFrame` | `frame` | The instance of `JInternalFrame`.
    `protected JComponent` | `iconPane` | The title pane component used in the desktop icon.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BasicDesktopIconUI()` | Constructs a new instance of `BasicDesktopIconUI`.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `protected MouseInputListener` | `createMouseInputListener()` | Returns a new instance of `MouseInputListener`.
    `static ComponentUI` | `createUI​(JComponent c)` | Constructs a new instance of `BasicDesktopIconUI`.
    `void` | `deiconize()` | De-iconifies the internal frame.
    `Insets` | `getInsets​(JComponent c)` | Returns the insets.
    `Dimension` | `getMaximumSize​(JComponent c)` | Desktop icons can not be resized.
    `protected void` | `installComponents()` | Registers components.
    `protected void` | `installDefaults()` | Installs default properties.
    `protected void` | `installListeners()` | Registers listeners.
    `protected void` | `uninstallComponents()` | Unregisters components.
    `protected void` | `uninstallDefaults()` | Uninstalls default properties.
    `protected void` | `uninstallListeners()` | Unregisters listeners.

    - ### Methods declared in class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### desktopIcon

          protected JInternalFrame.JDesktopIcon desktopIcon

      The instance of `JInternalFrame.JDesktopIcon`.

    - #### frame

          protected JInternalFrame frame

      The instance of `JInternalFrame`.

    - #### iconPane

          protected JComponent iconPane

      The title pane component used in the desktop icon.
      Since:
        1.5

  - ### Constructor Detail

    - #### BasicDesktopIconUI

          public BasicDesktopIconUI()

      Constructs a new instance of `BasicDesktopIconUI`.

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI​(JComponent c)

      Constructs a new instance of `BasicDesktopIconUI`.
      Parameters:
        `c` - a component
      Returns:
        a new instance of `BasicDesktopIconUI`

    - #### installComponents

          protected void installComponents()

      Registers components.

    - #### uninstallComponents

          protected void uninstallComponents()

      Unregisters components.

    - #### installListeners

          protected void installListeners()

      Registers listeners.

    - #### uninstallListeners

          protected void uninstallListeners()

      Unregisters listeners.

    - #### installDefaults

          protected void installDefaults()

      Installs default properties.

    - #### uninstallDefaults

          protected void uninstallDefaults()

      Uninstalls default properties.

    - #### createMouseInputListener

          protected MouseInputListener createMouseInputListener()

      Returns a new instance of `MouseInputListener`.
      Returns:
        a new instance of `MouseInputListener`

    - #### getMaximumSize

          public Dimension getMaximumSize​(JComponent c)

      Desktop icons can not be resized. Therefore, we should always return the minimum size of the desktop icon.
      Overrides:
        `getMaximumSize` in class `ComponentUI`
      Parameters:
        `c` - the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      Returns:
        a `Dimension` object or `null`
      See Also:
        `ComponentUI.getMinimumSize(javax.swing.JComponent)`

    - #### getInsets

          public Insets getInsets​(JComponent c)

      Returns the insets.
      Parameters:
        `c` - a component
      Returns:
        the insets

    - #### deiconize

          public void deiconize()

      De-iconifies the internal frame.