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

Since:
  1.2

- ## 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 declared in class JComponent

  `JComponent.AccessibleJComponent`

  ### Nested classes/interfaces declared in class Container

  `Container.AccessibleAWTContainer`

  ### Nested classes/interfaces declared in class Component

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

- ## Field Summary

  ### Fields declared in class JComponent

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

  ### Fields declared in class Component

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

  ### Fields declared in interface 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

  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 declared in class JComponent

  `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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 declared in class 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 declared in class 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### JDesktopIcon

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

- ## Method Details

  - ### getUI

    public DesktopIconUI getUI()
    Returns the look-and-feel object that renders this component.
    Overrides:
      `getUI` in class `JComponent`
    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(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(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