# Interface MouseEvent

All Superinterfaces:
  `Event, UIEvent`

public interface MouseEvent extends UIEvent
The `MouseEvent` interface provides specific contextual information associated with Mouse events.

The `detail` attribute inherited from `UIEvent` indicates the number of times a mouse button has been pressed and released over the same screen location during a user action. The attribute value is 1 when the user begins this action and increments by 1 for each full sequence of pressing and releasing. If the user moves the mouse between the mousedown and mouseup the value will be set to 0, indicating that no click is occurring.

In the case of nested elements mouse events are always targeted at the most deeply nested element. Ancestors of the targeted element may use bubbling to obtain notification of mouse events which occur within its descendent elements.

See also the Document Object Model (DOM) Level 2 Events Specification.

Since:
  1.5, DOM Level 2

- ## Field Summary

  ### Fields declared in interface Event

  `AT_TARGET, BUBBLING_PHASE, CAPTURING_PHASE`
  Modifier and Type
  Field
  Description
  `static final short`
  `AT_TARGET`
  The event is currently being evaluated at the target `EventTarget`.
  `static final short`
  `BUBBLING_PHASE`
  The current event phase is the bubbling phase.
  `static final short`
  `CAPTURING_PHASE`
  The current event phase is the capturing phase.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `getAltKey()`
  Used to indicate whether the 'alt' key was depressed during the firing of the event.
  `short`
  `getButton()`
  During mouse events caused by the depression or release of a mouse button, `button` is used to indicate which mouse button changed state.
  `int`
  `getClientX()`
  The horizontal coordinate at which the event occurred relative to the DOM implementation's client area.
  `int`
  `getClientY()`
  The vertical coordinate at which the event occurred relative to the DOM implementation's client area.
  `boolean`
  `getCtrlKey()`
  Used to indicate whether the 'ctrl' key was depressed during the firing of the event.
  `boolean`
  `getMetaKey()`
  Used to indicate whether the 'meta' key was depressed during the firing of the event.
  `EventTarget`
  `getRelatedTarget()`
  Used to identify a secondary `EventTarget` related to a UI event.
  `int`
  `getScreenX()`
  The horizontal coordinate at which the event occurred relative to the origin of the screen coordinate system.
  `int`
  `getScreenY()`
  The vertical coordinate at which the event occurred relative to the origin of the screen coordinate system.
  `boolean`
  `getShiftKey()`
  Used to indicate whether the 'shift' key was depressed during the firing of the event.
  `void`
  `initMouseEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, AbstractView viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, EventTarget relatedTargetArg)`
  The `initMouseEvent` method is used to initialize the value of a `MouseEvent` created through the `DocumentEvent` interface.

  ### Methods declared in interface Event

  `getBubbles, getCancelable, getCurrentTarget, getEventPhase, getTarget, getTimeStamp, getType, initEvent, preventDefault, stopPropagation`
  Modifier and Type
  Method
  Description
  `boolean`
  `getBubbles()`
  Used to indicate whether or not an event is a bubbling event.
  `boolean`
  `getCancelable()`
  Used to indicate whether or not an event can have its default action prevented.
  `EventTarget`
  `getCurrentTarget()`
  Used to indicate the `EventTarget` whose `EventListeners` are currently being processed.
  `short`
  `getEventPhase()`
  Used to indicate which phase of event flow is currently being evaluated.
  `EventTarget`
  `getTarget()`
  Used to indicate the `EventTarget` to which the event was originally dispatched.
  `long`
  `getTimeStamp()`
  Used to specify the time (in milliseconds relative to the epoch) at which the event was created.
  `String`
  `getType()`
  The name of the event (case-insensitive).
  `void`
  `initEvent(String eventTypeArg, boolean canBubbleArg, boolean cancelableArg)`
  The `initEvent` method is used to initialize the value of an `Event` created through the `DocumentEvent` interface.
  `void`
  `preventDefault()`
  If an event is cancelable, the `preventDefault` method is used to signify that the event is to be canceled, meaning any default action normally taken by the implementation as a result of the event will not occur.
  `void`
  `stopPropagation()`
  The `stopPropagation` method is used prevent further propagation of an event during event flow.

  ### Methods declared in interface UIEvent

  `getDetail, getView, initUIEvent`
  Modifier and Type
  Method
  Description
  `int`
  `getDetail()`
  Specifies some detail information about the `Event`, depending on the type of event.
  `AbstractView`
  `getView()`
  The `view` attribute identifies the `AbstractView` from which the event was generated.
  `void`
  `initUIEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, AbstractView viewArg, int detailArg)`
  The `initUIEvent` method is used to initialize the value of a `UIEvent` created through the `DocumentEvent` interface.

- ## Method Details

  - ### getScreenX

    int getScreenX()
    The horizontal coordinate at which the event occurred relative to the origin of the screen coordinate system.

  - ### getScreenY

    int getScreenY()
    The vertical coordinate at which the event occurred relative to the origin of the screen coordinate system.

  - ### getClientX

    int getClientX()
    The horizontal coordinate at which the event occurred relative to the DOM implementation's client area.

  - ### getClientY

    int getClientY()
    The vertical coordinate at which the event occurred relative to the DOM implementation's client area.

  - ### getCtrlKey

    boolean getCtrlKey()
    Used to indicate whether the 'ctrl' key was depressed during the firing of the event.

  - ### getShiftKey

    boolean getShiftKey()
    Used to indicate whether the 'shift' key was depressed during the firing of the event.

  - ### getAltKey

    boolean getAltKey()
    Used to indicate whether the 'alt' key was depressed during the firing of the event. On some platforms this key may map to an alternative key name.

  - ### getMetaKey

    boolean getMetaKey()
    Used to indicate whether the 'meta' key was depressed during the firing of the event. On some platforms this key may map to an alternative key name.

  - ### getButton

    short getButton()
    During mouse events caused by the depression or release of a mouse button, `button` is used to indicate which mouse button changed state. The values for `button` range from zero to indicate the left button of the mouse, one to indicate the middle button if present, and two to indicate the right button. For mice configured for left handed use in which the button actions are reversed the values are instead read from right to left.

  - ### getRelatedTarget

    EventTarget getRelatedTarget()
    Used to identify a secondary `EventTarget` related to a UI event. Currently this attribute is used with the mouseover event to indicate the `EventTarget` which the pointing device exited and with the mouseout event to indicate the `EventTarget` which the pointing device entered.

  - ### initMouseEvent

    void initMouseEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, AbstractView viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, EventTarget relatedTargetArg)
    The `initMouseEvent` method is used to initialize the value of a `MouseEvent` created through the `DocumentEvent` interface. This method may only be called before the `MouseEvent` has been dispatched via the `dispatchEvent` method, though it may be called multiple times during that phase if necessary. If called multiple times, the final invocation takes precedence.
    Parameters:
      `typeArg` - Specifies the event type.
      `canBubbleArg` - Specifies whether or not the event can bubble.
      `cancelableArg` - Specifies whether or not the event's default action can be prevented.
      `viewArg` - Specifies the `Event`'s `AbstractView`.
      `detailArg` - Specifies the `Event`'s mouse click count.
      `screenXArg` - Specifies the `Event`'s screen x coordinate
      `screenYArg` - Specifies the `Event`'s screen y coordinate
      `clientXArg` - Specifies the `Event`'s client x coordinate
      `clientYArg` - Specifies the `Event`'s client y coordinate
      `ctrlKeyArg` - Specifies whether or not control key was depressed during the `Event`.
      `altKeyArg` - Specifies whether or not alt key was depressed during the `Event`.
      `shiftKeyArg` - Specifies whether or not shift key was depressed during the `Event`.
      `metaKeyArg` - Specifies whether or not meta key was depressed during the `Event`.
      `buttonArg` - Specifies the `Event`'s mouse button.
      `relatedTargetArg` - Specifies the `Event`'s related `EventTarget`.