# Class BasicComboPopup.InvocationMouseHandler

java.lang.Object
java.awt.event.MouseAdapter
javax.swing.plaf.basic.BasicComboPopup.InvocationMouseHandler

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

Enclosing class:
  `BasicComboPopup`

protected class BasicComboPopup.InvocationMouseHandler extends MouseAdapter
A listener to be registered upon the combo box (not its popup menu) to handle mouse events that affect the state of the popup menu. The main purpose of this listener is to make the popup menu appear and disappear. This listener also helps with click-and-drag scenarios by setting the selection if the mouse was released over the list during a drag.

Warning: We recommend that you not create subclasses of this class. If you absolutely must create a subclass, be sure to invoke the superclass version of each method.

See Also:
  - `BasicComboPopup.createMouseListener()`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `InvocationMouseHandler()`
  Constructs an `InvocationMouseHandler`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `mousePressed(MouseEvent e)`
  Responds to mouse-pressed events on the combo box.
  `void`
  `mouseReleased(MouseEvent e)`
  Responds to the user terminating a click or drag that began on the combo box.

  ### Methods declared in class MouseAdapter

  `mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mouseWheelMoved`
  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`
  `mouseWheelMoved(MouseWheelEvent e)`
  Invoked when the mouse wheel is rotated.

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

- ## Constructor Details

  - ### InvocationMouseHandler

    protected InvocationMouseHandler()
    Constructs an `InvocationMouseHandler`.

- ## Method Details

  - ### mousePressed

    public void mousePressed(MouseEvent e)
    Responds to mouse-pressed events on the combo box.
    Parameters:
      `e` - the mouse-press event to be handled

  - ### mouseReleased

    public void mouseReleased(MouseEvent e)
    Responds to the user terminating a click or drag that began on the combo box.
    Parameters:
      `e` - the mouse-release event to be handled