JSR-62 (Final)

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

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:

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.

Note: Implementations of Personal Profile are required to support the generation of all forms of MouseEvent. Note that on platforms that support an input device other than a mouse (e.g. a stylus), one or more of the MouseEvent types may be synthesized. For example, MOUSE_MOVED events may be synthesized between a MOUSE_RELEASED event and a subsequent MOUSE_PRESSED event.

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, id, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_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.

See Also:
Constant Field Values

MOUSE_LAST

public static final int MOUSE_LAST
The last number in the range of ids used for mouse events.

See Also:
Constant Field Values

MOUSE_CLICKED

public static final int MOUSE_CLICKED
The "mouse clicked" event. This MouseEvent occurs when a mouse button is pressed and released.

See Also:
Constant Field Values

MOUSE_PRESSED

public static final int MOUSE_PRESSED
The "mouse pressed" event. This MouseEvent occurs when a mouse button is pushed down.

See Also:
Constant Field Values

MOUSE_RELEASED

public static final int MOUSE_RELEASED
The "mouse released" event. This MouseEvent occurs when a mouse button is let up.

See Also:
Constant Field Values

MOUSE_MOVED

public static final int MOUSE_MOVED
The "mouse moved" event. This MouseMotionEvent occurs when the mouse position changes.

See Also:
Constant Field Values

MOUSE_ENTERED

public static final int MOUSE_ENTERED
The "mouse entered" event. This MouseEvent occurs when the mouse cursor enters a component's area.

See Also:
Constant Field Values

MOUSE_EXITED

public static final int MOUSE_EXITED
The "mouse exited" event. This MouseEvent occurs when the mouse cursor leaves a component's area.

See Also:
Constant Field Values

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

See Also:
Constant Field Values
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

JSR-62 (Final)

Java and Java 2D are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Copyright 1993 - 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303, U.S.A. All Rights Reserved.
Use of this specification is subject to this license.