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
`protected class` `JInternalFrame.JDesktopIcon.AccessibleJDesktopIcon` This class implements accessibility support for the `JInternalFrame.JDesktopIcon` class.

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

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

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

`Container.AccessibleAWTContainer`

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

`JComponent.AccessibleJComponent`

### Field Summary

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

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

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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 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, 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.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 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.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