Module java.desktop
Package 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 declared in class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces declared in class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces declared in class java.awt.Component

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

  - ### Field Summary

    - ### Fields declared in class javax.swing.JComponent

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

    - ### Fields declared in class java.awt.Component

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

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

    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 javax.swing.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 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 declared in 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, 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 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.
      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(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