javax.swing.plaf.metal

## Class MetalDesktopIconUI

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

-     public class MetalDesktopIconUI
      extends BasicDesktopIconUI

  Metal desktop icon.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicDesktopIconUI

      `BasicDesktopIconUI.MouseInputHandler`

  - ### Field Summary

    - ### Fields inherited from class javax.swing.plaf.basic.BasicDesktopIconUI

      `desktopIcon, frame, iconPane`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MetalDesktopIconUI()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ComponentUI` | `createUI(JComponent c)` |
    `Dimension` | `getMaximumSize(JComponent c)` | Desktop icons can not be resized.
    `Dimension` | `getMinimumSize(JComponent c)` | Returns the specified component's minimum size appropriate for the look and feel.
    `Dimension` | `getPreferredSize(JComponent c)` | Returns the specified component's preferred size appropriate for the look and feel.
    `protected void` | `installComponents()` |
    `protected void` | `installDefaults()` |
    `protected void` | `installListeners()` |
    `protected void` | `uninstallComponents()` |
    `protected void` | `uninstallListeners()` |

    - ### Methods inherited from class javax.swing.plaf.basic.BasicDesktopIconUI

      `createMouseInputListener, deiconize, getInsets, installUI, uninstallDefaults, uninstallUI`

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### MetalDesktopIconUI

          public MetalDesktopIconUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent c)

    - #### installDefaults

          protected void installDefaults()

      Overrides:
        `installDefaults` in class `BasicDesktopIconUI`

    - #### installComponents

          protected void installComponents()

      Overrides:
        `installComponents` in class `BasicDesktopIconUI`

    - #### uninstallComponents

          protected void uninstallComponents()

      Overrides:
        `uninstallComponents` in class `BasicDesktopIconUI`

    - #### installListeners

          protected void installListeners()

      Overrides:
        `installListeners` in class `BasicDesktopIconUI`

    - #### uninstallListeners

          protected void uninstallListeners()

      Overrides:
        `uninstallListeners` in class `BasicDesktopIconUI`

    - #### getPreferredSize

          public Dimension getPreferredSize(JComponent c)

      Description copied from class: `ComponentUI`
      Returns the specified component's preferred size appropriate for the look and feel. If `null` is returned, the preferred size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method returns `null`.
      Overrides:
        `getPreferredSize` in class `BasicDesktopIconUI`
      Parameters:
        `c` - the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      See Also:
        `JComponent.getPreferredSize()`, `LayoutManager.preferredLayoutSize(java.awt.Container)`

    - #### getMinimumSize

          public Dimension getMinimumSize(JComponent c)

      Description copied from class: `ComponentUI`
      Returns the specified component's minimum size appropriate for the look and feel. If `null` is returned, the minimum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes `getPreferredSize` and returns that value.
      Overrides:
        `getMinimumSize` in class `BasicDesktopIconUI`
      Parameters:
        `c` - the component whose minimum 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:
        `JComponent.getMinimumSize()`, `LayoutManager.minimumLayoutSize(java.awt.Container)`, `ComponentUI.getPreferredSize(javax.swing.JComponent)`

    - #### getMaximumSize

          public Dimension getMaximumSize(JComponent c)

      Description copied from class: `BasicDesktopIconUI`
      Desktop icons can not be resized. Therefore, we should always return the minimum size of the desktop icon.
      Overrides:
        `getMaximumSize` in class `BasicDesktopIconUI`
      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:
        `BasicDesktopIconUI.getMinimumSize(javax.swing.JComponent)`

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, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.