java.awt.event

## Class MouseAdapter

- java.lang.Object
- - java.awt.event.MouseAdapter

- All Implemented Interfaces:
    MouseListener, MouseMotionListener, MouseWheelListener, EventListener
  Direct Known Subclasses:
    BasicComboPopup.InvocationMouseHandler, BasicComboPopup.ListMouseHandler, BasicFileChooserUI.DoubleClickListener, BasicScrollBarUI.ArrowButtonListener, BasicScrollBarUI.TrackListener, BasicSplitPaneDivider.MouseHandler, BasicTabbedPaneUI.MouseHandler, BasicTreeUI.MouseHandler, FormView.MouseEventListener, HTMLEditorKit.LinkController, MetalFileChooserUI.SingleClickListener, MouseInputAdapter, ToolTipManager

      public abstract class MouseAdapter
      extends Object
      implements MouseListener, MouseWheelListener, MouseMotionListener

  An abstract adapter class for receiving mouse events. The methods in this class are empty. This class exists as convenience for creating listener objects.

  Mouse events let you track when a mouse is pressed, released, clicked, moved, dragged, when it enters a component, when it exits and when a mouse wheel is moved.

  Extend this class to create a `MouseEvent` (including drag and motion events) or/and `MouseWheelEvent` listener and override the methods for the events of interest. (If you implement the `MouseListener`, `MouseMotionListener` interface, you have to define all of the methods in it. This abstract class defines null methods for them all, so you can only have to define methods for events you care about.)

  Create a listener object using the extended class and then register it with a component using the component's `addMouseListener` `addMouseMotionListener`, `addMouseWheelListener` methods. The relevant method in the listener object is invoked and the `MouseEvent` or `MouseWheelEvent` is passed to it in following cases:

  - when a mouse button is pressed, released, or clicked (pressed and released)
  - when the mouse cursor enters or exits the component
  - when the mouse wheel rotated, or mouse moved or dragged
  Since:
    1.1
  See Also:
    `MouseEvent`, `MouseWheelEvent`, `MouseListener`, `MouseMotionListener`, `MouseWheelListener`, Tutorial: Writing a Mouse Listener

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MouseAdapter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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.
    `void` | `mouseWheelMoved(MouseWheelEvent e)` | Invoked when the mouse wheel is rotated.

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

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

- - ### Constructor Detail

    - #### MouseAdapter

          public MouseAdapter()

  - ### Method Detail

    - #### mouseClicked

          public void mouseClicked(MouseEvent e)

      Invoked when the mouse button has been clicked (pressed and released) on a component.
      Specified by:
        `mouseClicked` in interface `MouseListener`

    - #### mousePressed

          public void mousePressed(MouseEvent e)

      Invoked when a mouse button has been pressed on a component.
      Specified by:
        `mousePressed` in interface `MouseListener`

    - #### mouseReleased

          public void mouseReleased(MouseEvent e)

      Invoked when a mouse button has been released on a component.
      Specified by:
        `mouseReleased` in interface `MouseListener`

    - #### mouseEntered

          public void mouseEntered(MouseEvent e)

      Invoked when the mouse enters a component.
      Specified by:
        `mouseEntered` in interface `MouseListener`

    - #### mouseExited

          public void mouseExited(MouseEvent e)

      Invoked when the mouse exits a component.
      Specified by:
        `mouseExited` in interface `MouseListener`

    - #### mouseWheelMoved

          public void mouseWheelMoved(MouseWheelEvent e)

      Invoked when the mouse wheel is rotated.
      Specified by:
        `mouseWheelMoved` in interface `MouseWheelListener`
      Since:
        1.6
      See Also:
        `MouseWheelEvent`

    - #### mouseDragged

          public void mouseDragged(MouseEvent e)

      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`
      Since:
        1.6

    - #### mouseMoved

          public void mouseMoved(MouseEvent e)

      Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed.
      Specified by:
        `mouseMoved` in interface `MouseMotionListener`
      Since:
        1.6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.