Package org.pushingpixels.lafwidget.desktop

# Class DesktopIconHoverPreviewWidget

java.lang.Object
org.pushingpixels.lafwidget.LafWidgetAdapter<JInternalFrame.JDesktopIcon>
org.pushingpixels.lafwidget.desktop.DesktopIconHoverPreviewWidget

All Implemented Interfaces:
  `LafWidget<JInternalFrame.JDesktopIcon>`

public class DesktopIconHoverPreviewWidget extends LafWidgetAdapter<JInternalFrame.JDesktopIcon>
Adds internal frame thumbnail preview on desktop icon mouse hover.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`DesktopIconHoverPreviewWidget.TitleMouseHandler`
Mouse handler for showing / hiding the preview window.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected JComponent`
`compToHover`
The component that initiates the desktop icon preview (when the mouse hover above it).
`protected PropertyChangeListener`
`internalFramePropertyListener`
Listens on the changes to the ancestor.
`protected DesktopIconHoverPreviewWidget.TitleMouseHandler`
`titleMouseHandler`
Mouse handler for the `compToHover`.

### Fields inherited from class org.pushingpixels.lafwidget.LafWidgetAdapter

`jcomp`

### Fields inherited from interface org.pushingpixels.lafwidget.LafWidget

`AUTO_SCROLL, COMPONENT_PREVIEW_PAINTER, HAS_LOCK_ICON, IGNORE_GLOBAL_LOCALE, PASSWORD_STRENGTH_CHECKER, TABBED_PANE_PREVIEW_PAINTER, TEXT_EDIT_CONTEXT_MENU, TEXT_FLIP_SELECT_ON_ESCAPE, TEXT_SELECT_ON_FOCUS, TREE_AUTO_DND_SUPPORT`

## Constructor Summary

Constructors
Constructor
Description
`DesktopIconHoverPreviewWidget()`

## Method Summary

Modifier and Type
Method
Description
`BufferedImage`
`getSnapshot(JInternalFrame frame)`
Returns the snapshot of the specified internal frame.
`void`
`installComponents()`
Installs components for the associated component.
`void`
`installListeners()`
Installs listeners for the associated component.
`boolean`
`requiresCustomLafSupport()`
Returns indication whether `this` widget requires custom LAF support.
`void`
`uninstallListeners()`
Uninstalls listeners for the associated component.

### Methods inherited from class org.pushingpixels.lafwidget.LafWidgetAdapter

`installDefaults, installUI, setComponent, uninstallComponents, uninstallDefaults, uninstallUI`

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

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

## Field Details

### compToHover

protected JComponent compToHover
The component that initiates the desktop icon preview (when the mouse hover above it).

### internalFramePropertyListener

protected PropertyChangeListener internalFramePropertyListener
Listens on the changes to the ancestor.

### titleMouseHandler

protected DesktopIconHoverPreviewWidget.TitleMouseHandler titleMouseHandler
Mouse handler for the `compToHover`.

## Constructor Details

### DesktopIconHoverPreviewWidget

public DesktopIconHoverPreviewWidget()

## Method Details

### installComponents

public void installComponents()
Description copied from interface: `LafWidget`
Installs components for the associated component.

Specified by:
  `installComponents` in interface `LafWidget<JInternalFrame.JDesktopIcon>`
Overrides:
  `installComponents` in class `LafWidgetAdapter<JInternalFrame.JDesktopIcon>`

### installListeners

public void installListeners()
Description copied from interface: `LafWidget`
Installs listeners for the associated component.

Specified by:
  `installListeners` in interface `LafWidget<JInternalFrame.JDesktopIcon>`
Overrides:
  `installListeners` in class `LafWidgetAdapter<JInternalFrame.JDesktopIcon>`

### uninstallListeners

public void uninstallListeners()
Description copied from interface: `LafWidget`
Uninstalls listeners for the associated component.

Specified by:
  `uninstallListeners` in interface `LafWidget<JInternalFrame.JDesktopIcon>`
Overrides:
  `uninstallListeners` in class `LafWidgetAdapter<JInternalFrame.JDesktopIcon>`

### getSnapshot

public BufferedImage getSnapshot(JInternalFrame frame)
Returns the snapshot of the specified internal frame.

Parameters:
  `frame` - Internal frame.
Returns:
  The snapshot of the specified internal frame.

### requiresCustomLafSupport

public boolean requiresCustomLafSupport()
Description copied from interface: `LafWidget`
Returns indication whether `this` widget requires custom LAF support. Some widgets such as `TabOverviewDialogWidget` or `TabHoverPreviewWidget` require custom implementation based on the internals of the specific LAF. Relevant functions in the base `LafWidgetSupport` support throw `UnsupportedOperationException`.

Returns:
  `true` if `this` widget requires custom LAF support, `false` otherwise.