javax.swing

## Class JInternalFrame.JDesktopIcon

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JInternalFrame.JDesktopIcon

- All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible
  Enclosing class:
    JInternalFrame

      public static class JInternalFrame.JDesktopIcon
      extends JComponent
      implements Accessible

  This component represents an iconified version of a `JInternalFrame`. This API should NOT BE USED by Swing applications, as it will go away in future versions of Swing as its functionality is moved into `JInternalFrame`. This class is public only so that UI objects can display a desktop icon. If an application wants to display a desktop icon, it should create a `JInternalFrame` instance and iconify it.

  Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the `java.beans` package. Please see `XMLEncoder`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `JInternalFrame.JDesktopIcon.AccessibleJDesktopIcon` | This class implements accessibility support for the `JInternalFrame.JDesktopIcon` class.

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    - ### Fields inherited from class javax.swing.JComponent

      `listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

    - ### Fields inherited from class java.awt.Component

      `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JDesktopIcon(JInternalFrame f)` | Creates an icon for an internal frame.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AccessibleContext` | `getAccessibleContext()` | Gets the AccessibleContext associated with this JDesktopIcon.
    `JDesktopPane` | `getDesktopPane()` | Convenience method to ask the icon for the `Desktop` object it belongs to.
    `JInternalFrame` | `getInternalFrame()` | Returns the `JInternalFrame` that this `DesktopIcon` is associated with.
    `DesktopIconUI` | `getUI()` | Returns the look-and-feel object that renders this component.
    `String` | `getUIClassID()` | Returns the name of the look-and-feel class that renders this component.
    `void` | `setInternalFrame(JInternalFrame f)` | Sets the `JInternalFrame` with which this `DesktopIcon` is associated.
    `void` | `setUI(DesktopIconUI ui)` | Sets the look-and-feel object that renders this component.
    `void` | `updateUI()` | Notification from the `UIManager` that the look and feel has changed.

    - ### Methods inherited from class javax.swing.JComponent

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

- - ### Constructor Detail

    - #### JDesktopIcon

          public JDesktopIcon(JInternalFrame f)

      Creates an icon for an internal frame.
      Parameters:
        `f` - the `JInternalFrame` for which the icon is created

  - ### Method Detail

    - #### getUI

          public DesktopIconUI getUI()

      Returns the look-and-feel object that renders this component.
      Returns:
        the `DesktopIconUI` object that renders this component

    - #### setUI

          public void setUI(DesktopIconUI ui)

      Sets the look-and-feel object that renders this component.
      Parameters:
        `ui` - the `DesktopIconUI` look-and-feel object
      See Also:
        `UIDefaults.getUI(javax.swing.JComponent)`

    - #### getInternalFrame

          public JInternalFrame getInternalFrame()

      Returns the `JInternalFrame` that this `DesktopIcon` is associated with.
      Returns:
        the `JInternalFrame` with which this icon is associated

    - #### setInternalFrame

          public void setInternalFrame(JInternalFrame f)

      Sets the `JInternalFrame` with which this `DesktopIcon` is associated.
      Parameters:
        `f` - the `JInternalFrame` with which this icon is associated

    - #### getDesktopPane

          public JDesktopPane getDesktopPane()

      Convenience method to ask the icon for the `Desktop` object it belongs to.
      Returns:
        the `JDesktopPane` that contains this icon's internal frame, or `null` if none found

    - #### updateUI

          public void updateUI()

      Notification from the `UIManager` that the look and feel has changed. Replaces the current UI object with the latest version from the `UIManager`.
      Overrides:
        `updateUI` in class `JComponent`
      See Also:
        `JComponent.updateUI()`

    - #### getUIClassID

          public String getUIClassID()

      Returns the name of the look-and-feel class that renders this component.
      Overrides:
        `getUIClassID` in class `JComponent`
      Returns:
        the string "DesktopIconUI"
      See Also:
        `JComponent.getUIClassID()`, `UIDefaults.getUI(javax.swing.JComponent)`

    - #### getAccessibleContext

          public AccessibleContext getAccessibleContext()

      Gets the AccessibleContext associated with this JDesktopIcon. For desktop icons, the AccessibleContext takes the form of an AccessibleJDesktopIcon. A new AccessibleJDesktopIcon instance is created if necessary.
      Specified by:
        `getAccessibleContext` in interface `Accessible`
      Overrides:
        `getAccessibleContext` in class `Component`
      Returns:
        an AccessibleJDesktopIcon that serves as the AccessibleContext of this JDesktopIcon

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.