declare namespace java { namespace awt { namespace event { /** * An event which indicates that a mouse action occurred in a component. * A mouse action is considered to occur in a particular component if and only * if the mouse cursor is over the unobscured part of the component's bounds * when the action happens. * For lightweight components, such as Swing's components, mouse events * are only dispatched to the component if the mouse event type has been * enabled on the component. A mouse event type is enabled by adding the * appropriate mouse-based {@code EventListener} to the component * ({@link MouseListener} or {@link MouseMotionListener}), or by invoking * {@link Component#enableEvents(long)} with the appropriate mask parameter * ({@code AWTEvent.MOUSE_EVENT_MASK} or {@code AWTEvent.MOUSE_MOTION_EVENT_MASK}). * If the mouse event type has not been enabled on the component, the * corresponding mouse events are dispatched to the first ancestor that * has enabled the mouse event type. *
* For example, if a {@code MouseListener} has been added to a component, or * {@code enableEvents(AWTEvent.MOUSE_EVENT_MASK)} has been invoked, then all * the events defined by {@code MouseListener} are dispatched to the component. * On the other hand, if a {@code MouseMotionListener} has not been added and * {@code enableEvents} has not been invoked with * {@code AWTEvent.MOUSE_MOTION_EVENT_MASK}, then mouse motion events are not * dispatched to the component. Instead the mouse motion events are * dispatched to the first ancestors that has enabled mouse motion * events. *
* This low-level event is generated by a component object for: *
* A MouseEvent
object is passed to every
* MouseListener
* or MouseAdapter
object which is registered to receive
* the "interesting" mouse events using the component's
* addMouseListener
method.
* (MouseAdapter
objects implement the
* MouseListener
interface.) Each such listener object
* gets a MouseEvent
containing the mouse event.
*
* A MouseEvent
object is also passed to every
* MouseMotionListener
or
* MouseMotionAdapter
object which is registered to receive
* mouse motion events using the component's
* addMouseMotionListener
* method. (MouseMotionAdapter
objects implement the
* MouseMotionListener
interface.) Each such listener object
* gets a MouseEvent
containing the mouse motion event.
*
* When a mouse button is clicked, events are generated and sent to the
* registered MouseListener
s.
* The state of modal keys can be retrieved using {@link InputEvent#getModifiers}
* and {@link InputEvent#getModifiersEx}.
* The button mask returned by {@link InputEvent#getModifiers} reflects
* only the button that changed state, not the current state of all buttons.
* (Note: Due to overlap in the values of ALT_MASK/BUTTON2_MASK and
* META_MASK/BUTTON3_MASK, this is not always true for mouse events involving
* modifier keys).
* To get the state of all buttons and modifier keys, use
* {@link InputEvent#getModifiersEx}.
* The button which has changed state is returned by {@link MouseEvent#getButton}
*
* For example, if the first mouse button is pressed, events are sent in the * following order: *
* id modifiers button ** When multiple mouse buttons are pressed, each press, release, and click * results in a separate event. *MOUSE_PRESSED
:BUTTON1_MASK
BUTTON1
*MOUSE_RELEASED
:BUTTON1_MASK
BUTTON1
*MOUSE_CLICKED
:BUTTON1_MASK
BUTTON1
*
* For example, if the user presses button 1 followed by * button 2, and then releases them in the same order, * the following sequence of events is generated: *
* id modifiers button ** If button 2 is released first, the *MOUSE_PRESSED
:BUTTON1_MASK
BUTTON1
*MOUSE_PRESSED
:BUTTON2_MASK
BUTTON2
*MOUSE_RELEASED
:BUTTON1_MASK
BUTTON1
*MOUSE_CLICKED
:BUTTON1_MASK
BUTTON1
*MOUSE_RELEASED
:BUTTON2_MASK
BUTTON2
*MOUSE_CLICKED
:BUTTON2_MASK
BUTTON2
*
MOUSE_RELEASED
/MOUSE_CLICKED
pair
* for BUTTON2_MASK
arrives first,
* followed by the pair for BUTTON1_MASK
.
* * Some extra mouse buttons are added to extend the standard set of buttons * represented by the following constants:{@code BUTTON1}, {@code BUTTON2}, and {@code BUTTON3}. * Extra buttons have no assigned {@code BUTTONx} * constants as well as their button masks have no assigned {@code BUTTONx_DOWN_MASK} * constants. Nevertheless, ordinal numbers starting from 4 may be * used as button numbers (button ids). Values obtained by the * {@link InputEvent#getMaskForButton(int) getMaskForButton(button)} method may be used * as button masks. *
* {@code MOUSE_DRAGGED} events are delivered to the {@code Component}
* in which the mouse button was pressed until the mouse button is released
* (regardless of whether the mouse position is within the bounds of the
* {@code Component}). Due to platform-dependent Drag&Drop implementations,
* {@code MOUSE_DRAGGED} events may not be delivered during a native
* Drag&Drop operation.
* In a multi-screen environment mouse drag events are delivered to the
* Component
even if the mouse position is outside the bounds of the
* GraphicsConfiguration
associated with that
* Component
. However, the reported position for mouse drag events
* in this case may differ from the actual mouse position:
*
GraphicsConfiguration
associated with
* the Component
.
* Component
.
*
* An unspecified behavior will be caused if the {@code id} parameter
* of any particular {@code MouseEvent} instance is not
* in the range from {@code MOUSE_FIRST} to {@code MOUSE_LAST}-1
* ({@code MOUSE_WHEEL} is not acceptable).
* @author Carl Quinn
* @see MouseAdapter
* @see MouseListener
* @see MouseMotionAdapter
* @see MouseMotionListener
* @see MouseWheelListener
* @see Tutorial: Writing a Mouse Listener
* @see Tutorial: Writing a Mouse Motion Listener
* @since 1.1
*/
// @ts-ignore
class MouseEvent extends java.awt.event.InputEvent {
/**
* Constructs a MouseEvent
object with the
* specified source component,
* type, time, modifiers, coordinates, click count, popupTrigger flag,
* and button number.
*
* Creating an invalid event (such
* as by using more than one of the old _MASKs, or modifier/button
* values which don't match) results in unspecified behavior.
* An invocation of the form
* MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger, button)
* behaves in exactly the same way as the invocation
* {@link #MouseEvent(Component, int, long, int, int, int,
* int, int, int, boolean, int) MouseEvent}(source, id, when, modifiers,
* x, y, xAbs, yAbs, clickCount, popupTrigger, button)
* where xAbs and yAbs defines as source's location on screen plus
* relative coordinates x and y.
* xAbs and yAbs are set to zero if the source is not showing.
* This method throws an
* IllegalArgumentException
if source
* is null
.
* @param source The Component
that originated the event
* @param id An integer indicating the type of event.
* For information on allowable values, see
* the class description for {#link MouseEvent}
* @param when A long integer that gives the time the event occurred.
* Passing negative or zero value
* is not recommended
* @param modifiers a modifier mask describing the modifier keys and mouse
* buttons (for example, shift, ctrl, alt, and meta) that
* are down during the event.
* Only extended modifiers are allowed to be used as a
* value for this parameter (see the {#link InputEvent#getModifiersEx}
* class for the description of extended modifiers).
* Passing negative parameter
* is not recommended.
* Zero value means that no modifiers were passed
* @param x The horizontal x coordinate for the mouse location.
* It is allowed to pass negative values
* @param y The vertical y coordinate for the mouse location.
* It is allowed to pass negative values
* @param clickCount The number of mouse clicks associated with event.
* Passing negative value
* is not recommended
* @param popupTrigger A boolean that equals {#code true} if this event
* is a trigger for a popup menu
* @param button An integer that indicates, which of the mouse buttons has
* changed its state.
* The following rules are applied to this parameter:
*
source
is null
* @throws IllegalArgumentException if {#code button} is greater then BUTTON3 and the support for extended mouse buttons is
* {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
* @throws IllegalArgumentException if {#code button} is greater then the
* {@link java.awt.MouseInfo#getNumberOfButtons() current number of buttons} and the support
* for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled}
* by Java
* @throws IllegalArgumentException if an invalid button
* value is passed in
* @throws IllegalArgumentException if source
is null
* @see #getSource()
* @see #getID()
* @see #getWhen()
* @see #getModifiers()
* @see #getX()
* @see #getY()
* @see #getClickCount()
* @see #isPopupTrigger()
* @see #getButton()
* @since 1.4
*/
// @ts-ignore
constructor(source: java.awt.Component, id: number /*int*/, when: number /*long*/, modifiers: number /*int*/, x: number /*int*/, y: number /*int*/, clickCount: number /*int*/, popupTrigger: boolean, button: number /*int*/)
/**
* Constructs a MouseEvent
object with the
* specified source component,
* type, modifiers, coordinates, click count, and popupTrigger flag.
* An invocation of the form
* MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger)
* behaves in exactly the same way as the invocation
* {@link #MouseEvent(Component, int, long, int, int, int,
* int, int, int, boolean, int) MouseEvent}(source, id, when, modifiers,
* x, y, xAbs, yAbs, clickCount, popupTrigger, MouseEvent.NOBUTTON)
* where xAbs and yAbs defines as source's location on screen plus
* relative coordinates x and y.
* xAbs and yAbs are set to zero if the source is not showing.
* This method throws an IllegalArgumentException
* if source
is null
.
* @param source The Component
that originated the event
* @param id An integer indicating the type of event.
* For information on allowable values, see
* the class description for {#link MouseEvent}
* @param when A long integer that gives the time the event occurred.
* Passing negative or zero value
* is not recommended
* @param modifiers a modifier mask describing the modifier keys and mouse
* buttons (for example, shift, ctrl, alt, and meta) that
* are down during the event.
* Only extended modifiers are allowed to be used as a
* value for this parameter (see the {#link InputEvent#getModifiersEx}
* class for the description of extended modifiers).
* Passing negative parameter
* is not recommended.
* Zero value means that no modifiers were passed
* @param x The horizontal x coordinate for the mouse location.
* It is allowed to pass negative values
* @param y The vertical y coordinate for the mouse location.
* It is allowed to pass negative values
* @param clickCount The number of mouse clicks associated with event.
* Passing negative value
* is not recommended
* @param popupTrigger A boolean that equals {#code true} if this event
* is a trigger for a popup menu
* @throws IllegalArgumentException if source
is null
* @see #getSource()
* @see #getID()
* @see #getWhen()
* @see #getModifiers()
* @see #getX()
* @see #getY()
* @see #getClickCount()
* @see #isPopupTrigger()
*/
// @ts-ignore
constructor(source: java.awt.Component, id: number /*int*/, when: number /*long*/, modifiers: number /*int*/, x: number /*int*/, y: number /*int*/, clickCount: number /*int*/, popupTrigger: boolean)
/**
* Constructs a MouseEvent
object with the
* specified source component,
* type, time, modifiers, coordinates, absolute coordinates, click count, popupTrigger flag,
* and button number.
*
* Creating an invalid event (such
* as by using more than one of the old _MASKs, or modifier/button
* values which don't match) results in unspecified behavior.
* Even if inconsistent values for relative and absolute coordinates are
* passed to the constructor, the mouse event instance is still
* created and no exception is thrown.
* This method throws an
* IllegalArgumentException
if source
* is null
.
* @param source The Component
that originated the event
* @param id An integer indicating the type of event.
* For information on allowable values, see
* the class description for {#link MouseEvent}
* @param when A long integer that gives the time the event occurred.
* Passing negative or zero value
* is not recommended
* @param modifiers a modifier mask describing the modifier keys and mouse
* buttons (for example, shift, ctrl, alt, and meta) that
* are down during the event.
* Only extended modifiers are allowed to be used as a
* value for this parameter (see the {#link InputEvent#getModifiersEx}
* class for the description of extended modifiers).
* Passing negative parameter
* is not recommended.
* Zero value means that no modifiers were passed
* @param x The horizontal x coordinate for the mouse location.
* It is allowed to pass negative values
* @param y The vertical y coordinate for the mouse location.
* It is allowed to pass negative values
* @param xAbs The absolute horizontal x coordinate for the mouse location
* It is allowed to pass negative values
* @param yAbs The absolute vertical y coordinate for the mouse location
* It is allowed to pass negative values
* @param clickCount The number of mouse clicks associated with event.
* Passing negative value
* is not recommended
* @param popupTrigger A boolean that equals {#code true} if this event
* is a trigger for a popup menu
* @param button An integer that indicates, which of the mouse buttons has
* changed its state.
* The following rules are applied to this parameter:
*
source
is null
* @throws IllegalArgumentException if {#code button} is greater then BUTTON3 and the support for extended mouse buttons is
* {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
* @throws IllegalArgumentException if {#code button} is greater then the
* {@link java.awt.MouseInfo#getNumberOfButtons() current number of buttons} and the support
* for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled}
* by Java
* @throws IllegalArgumentException if an invalid button
* value is passed in
* @throws IllegalArgumentException if source
is null
* @see #getSource()
* @see #getID()
* @see #getWhen()
* @see #getModifiers()
* @see #getX()
* @see #getY()
* @see #getXOnScreen()
* @see #getYOnScreen()
* @see #getClickCount()
* @see #isPopupTrigger()
* @see #getButton()
* @see #button
* @see Toolkit#areExtraMouseButtonsEnabled()
* @see java.awt.MouseInfo#getNumberOfButtons()
* @see InputEvent#getMaskForButton(int)
* @since 1.6
*/
// @ts-ignore
constructor(source: java.awt.Component, id: number /*int*/, when: number /*long*/, modifiers: number /*int*/, x: number /*int*/, y: number /*int*/, xAbs: number /*int*/, yAbs: number /*int*/, clickCount: number /*int*/, popupTrigger: boolean, button: number /*int*/)
/**
* The first number in the range of ids used for mouse events.
*/
// @ts-ignore
public static readonly MOUSE_FIRST: number /*int*/
/**
* The last number in the range of ids used for mouse events.
*/
// @ts-ignore
public static readonly MOUSE_LAST: number /*int*/
/**
* The "mouse clicked" event. This MouseEvent
* occurs when a mouse button is pressed and released.
*/
// @ts-ignore
public static readonly MOUSE_CLICKED: number /*int*/
/**
* The "mouse pressed" event. This MouseEvent
* occurs when a mouse button is pushed down.
*/
// @ts-ignore
public static readonly MOUSE_PRESSED: number /*int*/
/**
* The "mouse released" event. This MouseEvent
* occurs when a mouse button is let up.
*/
// @ts-ignore
public static readonly MOUSE_RELEASED: number /*int*/
/**
* The "mouse moved" event. This MouseEvent
* occurs when the mouse position changes.
*/
// @ts-ignore
public static readonly MOUSE_MOVED: number /*int*/
/**
* The "mouse entered" event. This MouseEvent
* occurs when the mouse cursor enters the unobscured part of component's
* geometry.
*/
// @ts-ignore
public static readonly MOUSE_ENTERED: number /*int*/
/**
* The "mouse exited" event. This MouseEvent
* occurs when the mouse cursor exits the unobscured part of component's
* geometry.
*/
// @ts-ignore
public static readonly MOUSE_EXITED: number /*int*/
/**
* The "mouse dragged" event. This MouseEvent
* occurs when the mouse position changes while a mouse button is pressed.
*/
// @ts-ignore
public static readonly MOUSE_DRAGGED: number /*int*/
/**
* The "mouse wheel" event. This is the only MouseWheelEvent
.
* It occurs when a mouse equipped with a wheel has its wheel rotated.
* @since 1.4
*/
// @ts-ignore
public static readonly MOUSE_WHEEL: number /*int*/
/**
* Indicates no mouse buttons; used by {@link #getButton}.
* @since 1.4
*/
// @ts-ignore
public static readonly NOBUTTON: number /*int*/
/**
* Indicates mouse button #1; used by {@link #getButton}.
* @since 1.4
*/
// @ts-ignore
public static readonly BUTTON1: number /*int*/
/**
* Indicates mouse button #2; used by {@link #getButton}.
* @since 1.4
*/
// @ts-ignore
public static readonly BUTTON2: number /*int*/
/**
* Indicates mouse button #3; used by {@link #getButton}.
* @since 1.4
*/
// @ts-ignore
public static readonly BUTTON3: number /*int*/
/**
* Returns the absolute x, y position of the event.
* In a virtual device multi-screen environment in which the
* desktop area could span multiple physical screen devices,
* these coordinates are relative to the virtual coordinate system.
* Otherwise, these coordinates are relative to the coordinate system
* associated with the Component's GraphicsConfiguration.
* @return a Point
object containing the absolute x
* and y coordinates.
* @see java.awt.GraphicsConfiguration
* @since 1.6
*/
// @ts-ignore
public getLocationOnScreen(): java.awt.Point
/**
* Returns the absolute horizontal x position of the event.
* In a virtual device multi-screen environment in which the
* desktop area could span multiple physical screen devices,
* this coordinate is relative to the virtual coordinate system.
* Otherwise, this coordinate is relative to the coordinate system
* associated with the Component's GraphicsConfiguration.
* @return x an integer indicating absolute horizontal position.
* @see java.awt.GraphicsConfiguration
* @since 1.6
*/
// @ts-ignore
public getXOnScreen(): number /*int*/
/**
* Returns the absolute vertical y position of the event.
* In a virtual device multi-screen environment in which the
* desktop area could span multiple physical screen devices,
* this coordinate is relative to the virtual coordinate system.
* Otherwise, this coordinate is relative to the coordinate system
* associated with the Component's GraphicsConfiguration.
* @return y an integer indicating absolute vertical position.
* @see java.awt.GraphicsConfiguration
* @since 1.6
*/
// @ts-ignore
public getYOnScreen(): number /*int*/
/**
* {@inheritDoc}
*/
// @ts-ignore
public getModifiersEx(): number /*int*/
/**
* Returns the horizontal x position of the event relative to the
* source component.
* @return x an integer indicating horizontal position relative to
* the component
*/
// @ts-ignore
public getX(): number /*int*/
/**
* Returns the vertical y position of the event relative to the
* source component.
* @return y an integer indicating vertical position relative to
* the component
*/
// @ts-ignore
public getY(): number /*int*/
/**
* Returns the x,y position of the event relative to the source component.
* @return a Point
object containing the x and y coordinates
* relative to the source component
*/
// @ts-ignore
public getPoint(): java.awt.Point
/**
* Translates the event's coordinates to a new position
* by adding specified x
(horizontal) and y
* (vertical) offsets.
* @param x the horizontal x value to add to the current x
* coordinate position
* @param y the vertical y value to add to the current y
* coordinate position
*/
// @ts-ignore
public translatePoint(x: number /*int*/, y: number /*int*/): void
/**
* Returns the number of mouse clicks associated with this event.
* @return integer value for the number of clicks
*/
// @ts-ignore
public getClickCount(): number /*int*/
/**
* Returns which, if any, of the mouse buttons has changed state.
* The returned value is ranged
* from 0 to the {@link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}
* value.
* The returned value includes at least the following constants:
* * if (anEvent.getButton() == MouseEvent.BUTTON1) { ** In particular, for a mouse with one, two, or three buttons this method may return the following values: *
* Note: If support for extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
* then the AWT event subsystem does not produce mouse events for the extended mouse
* buttons. So it is not expected that this method returns anything except {@code NOBUTTON}, {@code BUTTON1},
* {@code BUTTON2}, {@code BUTTON3}.
* @return one of the values from 0 to {#link java.awt.MouseInfo#getNumberOfButtons() MouseInfo.getNumberOfButtons()}
* if support for the extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() enabled} by Java.
* That range includes {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2}, {@code BUTTON3};
*
* {@code NOBUTTON}, {@code BUTTON1}, {@code BUTTON2} or {@code BUTTON3}
* if support for the extended mouse buttons is {@link Toolkit#areExtraMouseButtonsEnabled() disabled} by Java
* @since 1.4
* @see Toolkit#areExtraMouseButtonsEnabled()
* @see java.awt.MouseInfo#getNumberOfButtons()
* @see #MouseEvent(Component, int, long, int, int, int, int, int, int, boolean, int)
* @see InputEvent#getMaskForButton(int)
*/
// @ts-ignore
public getButton(): number /*int*/
/**
* Returns whether or not this mouse event is the popup menu
* trigger event for the platform.
*
Note: Popup menus are triggered differently
* on different systems. Therefore, isPopupTrigger
* should be checked in both mousePressed
* and mouseReleased
* for proper cross-platform functionality.
* @return boolean, true if this event is the popup menu trigger
* for this platform
*/
// @ts-ignore
public isPopupTrigger(): boolean
/**
* Returns a String
instance describing the modifier keys and
* mouse buttons that were down during the event, such as "Shift",
* or "Ctrl+Shift". These strings can be localized by changing
* the awt.properties
file.
*
* Note that the InputEvent.ALT_MASK
and
* InputEvent.BUTTON2_MASK
have equal values,
* so the "Alt" string is returned for both modifiers. Likewise,
* the InputEvent.META_MASK
and
* InputEvent.BUTTON3_MASK
have equal values,
* so the "Meta" string is returned for both modifiers.
*
* Note that passing negative parameter is incorrect, * and will cause the returning an unspecified string. * Zero parameter means that no modifiers were passed and will * cause the returning an empty string. *
* @param modifiers A modifier mask describing the modifier keys and * mouse buttons that were down during the event * @return string string text description of the combination of modifier * keys and mouse buttons that were down during the event * @see InputEvent#getModifiersExText(int) * @since 1.4 */ // @ts-ignore public static getMouseModifiersText(modifiers: number /*int*/): string /** * Returns a parameter string identifying this event. * This method is useful for event-logging and for debugging. * @return a string identifying the event and its attributes */ // @ts-ignore public paramString(): string } } } }