Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt.event
Class MouseEvent

    java.lang.Object
      |
      +--java.util.EventObject
            |
            +--java.awt.AWTEvent
                  |
                  +--java.awt.event.ComponentEvent
                        |
                        +--java.awt.event.InputEvent
                              |
                              +--java.awt.event.MouseEvent

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  MenuDragMouseEvent

public class MouseEvent
extends InputEvent

/** An event which indicates that a mouse action occurred in a component. This event is used both for mouse events (click, enter, exit) and mouse motion events (moves and drags).

This low-level event is generated by a component object for:

- Mouse Events
  - a mouse button is pressed
  - a mouse button is released
  - a mouse button is clicked (pressed and released)
  - the mouse cursor enters a component
  - the mouse cursor exits a component
- Mouse Motion Events
  - the mouse is moved
  - the mouse is dragged

A MouseEvent object is passed to every `MouseListener` or `MouseAdapter` object which 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 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 MouseListeners, with the button mask set in the modifier field. For example, if the first mouse button is pressed, events are sent in the following order:

        MOUSE_PRESSED:  BUTTON1_MASK
        MOUSE_RELEASED: BUTTON1_MASK
        MOUSE_CLICKED:  BUTTON1_MASK

When multiple mouse buttons are pressed, each press, release, and click results in a separate event. The button mask in the modifier field reflects only the button that changed state, not the current state of all buttons.

For example, if the user presses button 1 followed by button 2 and releases them in the same order, the following sequence of events is generated:

        MOUSE_PRESSED:  BUTTON1_MASK
        MOUSE_PRESSED:  BUTTON2_MASK
        MOUSE_RELEASED: BUTTON1_MASK
        MOUSE_CLICKED:  BUTTON1_MASK
        MOUSE_RELEASED: BUTTON2_MASK
        MOUSE_CLICKED:  BUTTON2_MASK

If button2 is released first, the MOUSE_RELEASED/MOUSE_CLICKED pair for BUTTON2_MASK arrives first, followed by the pair for BUTTON1_MASK.

Since:
  1.1
See Also:
  `MouseAdapter`, `MouseListener`, `MouseMotionAdapter`, `MouseMotionListener`, Tutorial: Writing a Mouse Listener, Tutorial: Writing a Mouse Motion Listener, Reference: The Java Class Libraries (update file), Serialized Form

Field Summary
`static int` | `MOUSE_CLICKED` The "mouse clicked" event.
`static int` | `MOUSE_DRAGGED` The "mouse dragged" event.
`static int` | `MOUSE_ENTERED` The "mouse entered" event.
`static int` | `MOUSE_EXITED` The "mouse exited" event.
`static int` | `MOUSE_FIRST` The first number in the range of ids used for mouse events.
`static int` | `MOUSE_LAST` The last number in the range of ids used for mouse events.
`static int` | `MOUSE_MOVED` The "mouse moved" event.
`static int` | `MOUSE_PRESSED` The "mouse pressed" event.
`static int` | `MOUSE_RELEASED` The "mouse released" event.

Fields inherited from class java.awt.event.InputEvent
`ALT_GRAPH_MASK, ALT_MASK, BUTTON1_MASK, BUTTON2_MASK, BUTTON3_MASK, CTRL_MASK, META_MASK, SHIFT_MASK`

Fields inherited from class java.awt.event.ComponentEvent
`COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN`

Fields inherited from class java.awt.AWTEvent
`ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK`

Fields inherited from class java.util.EventObject
`source`

Constructor Summary
`MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger)` Constructs a MouseEvent object with the specified source component, type, modifiers, coordinates, and click count.

Method Summary
`int` | `getClickCount()` Return the number of mouse clicks associated with this event.
`Point` | `getPoint()` Returns the x,y position of the event relative to the source component.
`int` | `getX()` Returns the horizontal x position of the event relative to the source component.
`int` | `getY()` Returns the vertical y position of the event relative to the source component.
`boolean` | `isPopupTrigger()` Returns whether or not this mouse event is the popup-menu trigger event for the platform.
`String` | `paramString()` Returns a parameter string identifying this event.
`void` | `translatePoint(int x, int y)` Translates the event's coordinates to a new position by adding specified x (horizontal) and y (veritcal) offsets.

Methods inherited from class java.awt.event.InputEvent
`consume, getModifiers, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown`

Methods inherited from class java.awt.event.ComponentEvent
`getComponent`

Methods inherited from class java.awt.AWTEvent
`finalize, getID, toString`

Methods inherited from class java.util.EventObject
`getSource`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### MOUSE_FIRST

    public static final int MOUSE_FIRST

  The first number in the range of ids used for mouse events.

### MOUSE_LAST

    public static final int MOUSE_LAST

  The last number in the range of ids used for mouse events.

### MOUSE_CLICKED

    public static final int MOUSE_CLICKED

  The "mouse clicked" event. This MouseEvent occurs when a mouse button is pressed and released.

### MOUSE_PRESSED

    public static final int MOUSE_PRESSED

  The "mouse pressed" event. This MouseEvent occurs when a mouse button is pushed down.

### MOUSE_RELEASED

    public static final int MOUSE_RELEASED

  The "mouse released" event. This MouseEvent occurs when a mouse button is let up.

### MOUSE_MOVED

    public static final int MOUSE_MOVED

  The "mouse moved" event. This MouseMotionEvent occurs when the mouse position changes.

### MOUSE_ENTERED

    public static final int MOUSE_ENTERED

  The "mouse entered" event. This MouseEvent occurs when the mouse cursor enters a component's area.

### MOUSE_EXITED

    public static final int MOUSE_EXITED

  The "mouse exited" event. This MouseEvent occurs when the mouse cursor leaves a component's area.

### MOUSE_DRAGGED

    public static final int MOUSE_DRAGGED

  The "mouse dragged" event. This MouseMotionEvent occurs when the mouse position changes while the "drag" modifier is active (for example, the shift key).

Constructor Detail

### MouseEvent

    public MouseEvent(Component source,
                      int id,
                      long when,
                      int modifiers,
                      int x,
                      int y,
                      int clickCount,
                      boolean popupTrigger)

  Constructs a MouseEvent object with the specified source component, type, modifiers, coordinates, and click count.
  Parameters:
    `source` - the Component that originated the event
    `id` - the integer that identifies the event
    `when` - a long int that gives the time the event occurred
    `modifiers` - the modifier keys down during event (shift, ctrl, alt, meta)
    `x` - the horizontal x coordinate for the mouse location
    `y` - the vertical y coordinate for the mouse location
    `clickCount` - the number of mouse clicks associated with event
    `popupTrigger` - a boolean, true if this event is a trigger for a popup-menu

Method Detail

### getX

    public int getX()

  Returns the horizontal x position of the event relative to the source component.
  Returns:
    x an integer indicating horizontal position relative to the component

### getY

    public int getY()

  Returns the vertical y position of the event relative to the source component.
  Returns:
    y an integer indicating vertical position relative to the component

### getPoint

    public Point getPoint()

  Returns the x,y position of the event relative to the source component.
  Returns:
    a Point object containing the x and y coordinates relative to the source component

### translatePoint

    public void translatePoint(int x,
                               int y)

  Translates the event's coordinates to a new position by adding specified x (horizontal) and y (veritcal) offsets.
  Parameters:
    `x` - the horizontal x value to add to the current x coordinate position
    `y` - the vertical y value to add to the current y coordinate position

### getClickCount

    public int getClickCount()

  Return the number of mouse clicks associated with this event.
  Returns:
    integer value for the number of clicks

### isPopupTrigger

    public boolean isPopupTrigger()

  Returns whether or not this mouse event is the popup-menu trigger event for the platform.
  Returns:
    boolean, true if this event is the popup-menu trigger for this platform

### paramString

    public String paramString()

  Returns a parameter string identifying this event. This method is useful for event-logging and for debugging.
  Overrides:
    `paramString` in class `ComponentEvent`
  Returns:
    a string identifying the event and its attributes

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.