# Class BasicDesktopIconUI.MouseInputHandler

java.lang.Object
java.awt.event.MouseAdapter
javax.swing.event.MouseInputAdapter
javax.swing.plaf.basic.BasicDesktopIconUI.MouseInputHandler

All Implemented Interfaces:
  `MouseListener, MouseMotionListener, MouseWheelListener, EventListener, MouseInputListener`

Enclosing class:
  `BasicDesktopIconUI`

public class BasicDesktopIconUI.MouseInputHandler extends MouseInputAdapter
Listens for mouse movements and acts on them. This class should be treated as a "protected" inner class. Instantiate it only within subclasses of `BasicDesktopIconUI`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MouseInputHandler()`
  Constructs a `MouseInputHandler`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `mouseDragged(MouseEvent e)`
  Invoked when a mouse button is pressed on a component and then dragged.
  `void`
  `mouseMoved(MouseEvent e)`
  Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.
  `void`
  `mousePressed(MouseEvent e)`
  Invoked when a mouse button has been pressed on a component.
  `void`
  `mouseReleased(MouseEvent e)`
  Invoked when a mouse button has been released on a component.
  `void`
  `moveAndRepaint(JComponent f, int newX, int newY, int newWidth, int newHeight)`
  Moves and repaints a component `f`.

  ### Methods declared in class MouseAdapter

  `mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mouseWheelMoved`

  ### Methods declared in class Object

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

  ### Methods declared in interface MouseListener

  `mouseClicked, mouseEntered, mouseExited`

- ## Constructor Details

  - ### MouseInputHandler

    public MouseInputHandler()
    Constructs a `MouseInputHandler`.

- ## Method Details

  - ### mouseReleased

    public void mouseReleased(MouseEvent e)
    Invoked when a mouse button has been released on a component.
    Parameters:
      `e` - the event to be processed

  - ### mousePressed

    public void mousePressed(MouseEvent e)
    Invoked when a mouse button has been pressed on a component.
    Parameters:
      `e` - the event to be processed

  - ### mouseMoved

    public void mouseMoved(MouseEvent e)
    Description copied from class: `MouseAdapter`
    Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.
    Specified by:
      `mouseMoved` in interface `MouseMotionListener`
    Overrides:
      `mouseMoved` in class `MouseAdapter`
    Parameters:
      `e` - the event to be processed

  - ### mouseDragged

    public void mouseDragged(MouseEvent e)
    Description copied from class: `MouseAdapter`
    Invoked when a mouse button is pressed on a component and then dragged. `MOUSE_DRAGGED` events will continue to be delivered to the component where the drag originated until the mouse button is released (regardless of whether the mouse position is within the bounds of the component).

    Due to platform-dependent Drag&Drop implementations, `MOUSE_DRAGGED` events may not be delivered during a native Drag&Drop operation.

    Specified by:
      `mouseDragged` in interface `MouseMotionListener`
    Overrides:
      `mouseDragged` in class `MouseAdapter`
    Parameters:
      `e` - the event to be processed

  - ### moveAndRepaint

    public void moveAndRepaint(JComponent f, int newX, int newY, int newWidth, int newHeight)
    Moves and repaints a component `f`.
    Parameters:
      `f` - a component
      `newX` - a new X coordinate
      `newY` - a new Y coordinate
      `newWidth` - a new width
      `newHeight` - a new height