@Override
	protected MouseInputListener createMouseInputListener() {
		mouseInputListener = new MouseInputAdapter() {
			@Override
			public void mouseReleased( MouseEvent e ) {
				if( frame.isIcon() && desktopIcon.contains( e.getX(), e.getY() ) ) {
					hideTitleTip();
					closeButton.setVisible( false );

					try {
						frame.setIcon( false );
					} catch( PropertyVetoException ex ) {
						// ignore
					}
				}
			}

			@Override
			public void mouseEntered( MouseEvent e ) {
				showTitleTip();
				if( frame.isClosable() )
					closeButton.setVisible( true );
			}

			@Override
			public void mouseExited( MouseEvent e ) {
				hideTitleTip();
				closeButton.setVisible( false );
			}
		};
		return mouseInputListener;
	}
Provides the Flat LaF UI delegate for {@link javax.swing.JInternalFrame.JDesktopIcon}.

<!-- BasicDesktopIconUI -->

@uiDefault DesktopIcon.border					Border

<!-- FlatDesktopIconUI -->

@uiDefault DesktopIcon.background				Color
@uiDefault DesktopIcon.foreground				Color
@uiDefault DesktopIcon.iconSize					Dimension
@uiDefault DesktopIcon.closeSize					Dimension
@uiDefault DesktopIcon.closeIcon					Icon

@author Karl Tauber
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatDesktopIconUI.java