# Class BasicTreeUI.MouseInputHandler

java.lang.Object
javax.swing.plaf.basic.BasicTreeUI.MouseInputHandler

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

Enclosing class:
  `BasicTreeUI`

public class BasicTreeUI.MouseInputHandler extends Object implements MouseInputListener
MouseInputHandler handles passing all mouse events, including mouse motion events, until the mouse is released to the destination it is constructed with. It is assumed all the events are currently target at source.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Component`
  `destination`
  Destination that receives all events.
  `protected Component`
  `source`
  Source that events are coming from.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MouseInputHandler(Component source, Component destination, MouseEvent event)`
  Constructs a new instance of `MouseInputHandler`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `mouseClicked(MouseEvent e)`
  Invoked when the mouse button has been clicked (pressed and released) on a component.
  `void`
  `mouseDragged(MouseEvent e)`
  Invoked when a mouse button is pressed on a component and then dragged.
  `void`
  `mouseEntered(MouseEvent e)`
  Invoked when the mouse enters a component.
  `void`
  `mouseExited(MouseEvent e)`
  Invoked when the mouse exits a component.
  `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.
  `protected void`
  `removeFromSource()`
  Removes an event from the source.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Field Details

  - ### source

    protected Component source
    Source that events are coming from.

  - ### destination

    protected Component destination
    Destination that receives all events.

- ## Constructor Details

  - ### MouseInputHandler

    public MouseInputHandler(Component source, Component destination, MouseEvent event)
    Constructs a new instance of `MouseInputHandler`.
    Parameters:
      `source` - a source component
      `destination` - a destination component
      `event` - a mouse event

- ## Method Details

  - ### mouseClicked

    public void mouseClicked(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when the mouse button has been clicked (pressed and released) on a component.
    Specified by:
      `mouseClicked` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mousePressed

    public void mousePressed(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when a mouse button has been pressed on a component.
    Specified by:
      `mousePressed` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseReleased

    public void mouseReleased(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when a mouse button has been released on a component.
    Specified by:
      `mouseReleased` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseEntered

    public void mouseEntered(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when the mouse enters a component.
    Specified by:
      `mouseEntered` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseExited

    public void mouseExited(MouseEvent e)
    Description copied from interface: `MouseListener`
    Invoked when the mouse exits a component.
    Specified by:
      `mouseExited` in interface `MouseListener`
    Parameters:
      `e` - the event to be processed

  - ### mouseDragged

    public void mouseDragged(MouseEvent e)
    Description copied from interface: `MouseMotionListener`
    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`
    Parameters:
      `e` - the event to be processed

  - ### mouseMoved

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

  - ### removeFromSource

    protected void removeFromSource()
    Removes an event from the source.