public class MouseEvent extends InputEvent
EventListener
到组件(
MouseListener
或
MouseMotionListener
),或通过调用
Component.enableEvents(long)
与适当的掩模参数(
AWTEvent.MOUSE_EVENT_MASK
或
AWTEvent.MOUSE_MOTION_EVENT_MASK
)。如果组件未在组件上启用鼠标事件类型,则将相应的鼠标事件发送给已启用鼠标事件类型的第一个祖先。
例如,如果一个MouseListener
已被添加到组件,或enableEvents(AWTEvent.MOUSE_EVENT_MASK)
已被调用,然后所有的事件定义的MouseListener
派遣到组件。另一方面,如果一个MouseMotionListener
尚未添加和enableEvents
尚未调用AWTEvent.MOUSE_MOTION_EVENT_MASK
,然后鼠标移动事件不会被派到组件。相反,鼠标的运动事件被发送到已启用鼠标运动事件的第一个祖先。
这个低级的事件是由一个组件对象产生的:
一个MouseEvent
对象传递给每一MouseListener
或MouseAdapter
对象是注册接收使用组件的addMouseListener
方法“有趣”的鼠标事件。(MouseAdapter
对象实现了MouseListener
接口。)每个听众对象获取一个MouseEvent
包含鼠标事件。
一个MouseEvent
对象也传递给每一MouseMotionListener
或MouseMotionAdapter
对象注册到使用组件的addMouseMotionListener
方法接收鼠标移动事件。(MouseMotionAdapter
对象实现了MouseMotionListener
接口。)每个听众对象获取一个MouseEvent
包含鼠标移动事件。
当鼠标按钮被单击时,生成事件,并发送到注册MouseListener
s。模态按键的状态可以用InputEvent.getModifiers()
和InputEvent.getModifiersEx()
检索。返回InputEvent.getModifiers()
按钮面具只反映按钮改变状态,不是所有的按钮的当前状态。(注:由于在alt_mask / button2_mask和meta_mask / button3_mask值重叠,这不总是正确的鼠标事件涉及修改键)。把所有的按钮和修饰键,国家InputEvent.getModifiersEx()
。按钮改变了返回的状态是getButton()
例如,如果第一个鼠标按钮被按下,事件将被发送到下面的顺序:
身份证件 改性剂 按钮当多个鼠标按钮被按下,每个新闻,发布,并在一个单独的点击事件的结果。MOUSE_PRESSED
:BUTTON1_MASK
BUTTON1
MOUSE_RELEASED
:BUTTON1_MASK
BUTTON1
MOUSE_CLICKED
:BUTTON1_MASK
BUTTON1
例如,如果用户按按钮1随后按钮2,然后释放他们以相同的顺序,产生了以下的事件序列:
身份证件 改性剂 按钮如果 按钮2首次发布,为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
BUTTON2_MASK
首先到达
MOUSE_RELEASED
/
MOUSE_CLICKED
副,其次是
BUTTON1_MASK
一些额外的鼠标按钮添加到扩展下列常数表示按钮的标准:BUTTON1
,BUTTON2
,和BUTTON3
。额外的按钮没有分配BUTTONx
常数以及按钮的面具没有分配BUTTONx_DOWN_MASK
常数。然而,从4开始的序数数字可以被用作按钮号(按钮标识号)。由getMaskForButton(button)
法得到的值可以作为按钮的面具。
MOUSE_DRAGGED
事件传递给Component
,鼠标按钮被按下后释放鼠标按钮(无论鼠标的位置是在Component
范围)。由于平台依赖的拖放实现,MOUSE_DRAGGED
事件可能不交在本地拖放操作。在多屏幕环境鼠标拖动事件即使鼠标位置外,Component
相关的GraphicsConfiguration
边界传递到Component
。然而,报道的位置,在这种情况下,鼠标拖动事件可能与实际的鼠标位置:
Component
相关的GraphicsConfiguration
界限。Component
相关的虚拟设备的范围。未指定的行为将如果任何特定的MouseEvent
实例的id
参数不在MOUSE_FIRST
到MOUSE_LAST
-1范围造成的(MOUSE_WHEEL
是不可接受的)。
Modifier and Type | Field and Description |
---|---|
static int |
BUTTON1
显示鼠标按钮# 1;用
getButton() 。
|
static int |
BUTTON2
显示鼠标按钮# 2;用
getButton() 。
|
static int |
BUTTON3
显示鼠标按钮# 3;用
getButton() 。
|
static int |
MOUSE_CLICKED
“鼠标点击”事件。
|
static int |
MOUSE_DRAGGED
“鼠标拖动”事件。
|
static int |
MOUSE_ENTERED
“鼠标输入”事件。
|
static int |
MOUSE_EXITED
“鼠标退出”事件。
|
static int |
MOUSE_FIRST
用于鼠标事件的入侵检测系统范围内的第一个数字。
|
static int |
MOUSE_LAST
用于鼠标事件的入侵检测范围的最后一个数字。
|
static int |
MOUSE_MOVED
“鼠标移动”事件。
|
static int |
MOUSE_PRESSED
“鼠标按下”事件。
|
static int |
MOUSE_RELEASED
“鼠标释放”事件。
|
static int |
MOUSE_WHEEL
“鼠标滚轮”事件。
|
static int |
NOBUTTON
表示没有鼠标按钮;用
getButton() 。
|
ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
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, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
source
Constructor and Description |
---|
MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger)
构建了一个具有指定源组件,
MouseEvent 对象类型、修饰符、坐标,点击数,和popuptrigger旗。
|
MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int button)
构建了一个具有指定源组件,
MouseEvent 对象类型、时间、改性剂、坐标,点击数,popuptrigger旗,和按钮的数量。
|
MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int button)
构建了一个具有指定源组件,
MouseEvent 对象类型、时间、改性剂、坐标,绝对坐标,点击数,popuptrigger旗,和按钮的数量。
|
Modifier and Type | Method and Description |
---|---|
int |
getButton()
返回,如果有的话,鼠标按钮改变了状态。
|
int |
getClickCount()
返回与此事件关联的鼠标点击次数。
|
Point |
getLocationOnScreen()
返回事件的绝对X和Y位置。
|
int |
getModifiersEx()
返回此事件的扩展修改掩码。
|
static String |
getMouseModifiersText(int modifiers)
返回一个
String 实例描述组合键和鼠标按钮,在事件中,如“转移”,或者“Ctrl + Shift”。
|
Point |
getPoint()
返回事件相对于源组件的X、Y位置。
|
int |
getX()
返回事件相对于源组件的水平X位置。
|
int |
getXOnScreen()
返回事件的绝对水平X位置。
|
int |
getY()
返回事件相对于源组件的垂直Y位置。
|
int |
getYOnScreen()
返回事件的绝对垂直位置。
|
boolean |
isPopupTrigger()
返回是否这个鼠标事件的弹出式菜单的触发事件的平台。
|
String |
paramString()
返回标识此事件的参数字符串。
|
void |
translatePoint(int x, int y)
将事件的坐标,一个新的位置添加指定的
x (水平)和
y (垂直)偏移。
|
consume, getMaskForButton, getModifiers, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
getComponent
getSource
public static final int MOUSE_FIRST
public static final int MOUSE_LAST
public static final int MOUSE_CLICKED
MouseEvent
当鼠标按钮按下和释放。
public static final int MOUSE_PRESSED
MouseEvent
当鼠标按下按钮。
public static final int MOUSE_RELEASED
MouseEvent
当鼠标按钮放弃。
public static final int MOUSE_MOVED
MouseEvent
时鼠标的位置变化。
public static final int MOUSE_ENTERED
MouseEvent
当鼠标光标进入组件的几何视野开阔的一部分。
public static final int MOUSE_EXITED
MouseEvent
发生时,鼠标光标的出口组件的几何视野开阔的一部分。
public static final int MOUSE_DRAGGED
MouseEvent
时鼠标的位置变化而鼠标按钮被按下。
public static final int MOUSE_WHEEL
MouseWheelEvent
。当一只装有轮子的老鼠有轮子旋转时,它会发生的。
public static final int NOBUTTON
getButton()
。
public static final int BUTTON1
getButton()
。
public static final int BUTTON2
getButton()
。
public static final int BUTTON3
getButton()
。
public MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int button)
MouseEvent
对象类型、时间、改性剂、坐标,点击数,popuptrigger旗,和按钮的数量。
创建一个无效的事件(例如使用一个以上的老_masks,或改性剂/按钮的值不匹配)在未指定行为的结果。一个调用的形式MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger, button)表现一样,调用 MouseEvent
(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount, popupTrigger, button)哪里xabs和肝片定义为源的位置在屏幕上加上相对坐标X和Y xabs和肝片如果来源不显示设置为零。该方法抛出一个IllegalArgumentException
如果source
是null
。
source
-
Component
起源事件
id
-整数表示事件的类型。在允许值的信息,看到
MouseEvent
类的描述
when
-一个长整数,给出时间发生的事件。不建议通过负或零值
modifiers
-改性剂的面具描述组合键和鼠标按钮(例如,移动,Ctrl,Alt,和元),在事件。只有扩展剂都可以作为此参数的值(见
InputEvent.getModifiersEx()
类扩展性描述)。不建议通过负参数。零值意味着没有通过的修饰语
x
-横坐标的鼠标位置。它被允许通过负值
y
-鼠标的位置垂直的Y坐标。它被允许通过负值
clickCount
-点击鼠标的次数与事件。传递负值不推荐
popupTrigger
-一个布尔值,等于
true
如果这个事件是一个弹出式菜单触发
button
-一个整数,表示,它的鼠标按钮已经改变了它的状态。以下规则适用于此参数:
disabled
通过java则允许创建与标准按钮MouseEvent
对象:NOBUTTON
,BUTTON1
,BUTTON2
,和BUTTON3
。enabled
通过java则允许创建与标准按钮MouseEvent
对象。如果扩展鼠标按键的支持enabled
通过java,那么除了标准按钮,MouseEvent
对象可以创建使用按钮的范围从4到MouseInfo.getNumberOfButtons()
如果鼠标有超过三个按钮。IllegalArgumentException
-如果
button
小于零
IllegalArgumentException
-如果
source
是空的
IllegalArgumentException
-如果
button
大于按钮和扩展的鼠标按钮的支持是通过java
disabled
IllegalArgumentException
-如果
button
大于
current number of buttons
和扩展的鼠标按钮的支持是通过java
enabled
IllegalArgumentException
-如果一个无效的
button
价值传递
IllegalArgumentException
-如果
source
是空的
EventObject.getSource()
,
AWTEvent.getID()
,
InputEvent.getWhen()
,
InputEvent.getModifiers()
,
getX()
,
getY()
,
getClickCount()
,
isPopupTrigger()
,
getButton()
public MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger)
MouseEvent
对象类型、修饰符、坐标,点击数,和popuptrigger旗。表格的
MouseEvent(source, id, when, modifiers, x, y, clickCount, popupTrigger)调用的行为一样,调用
MouseEvent
(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount, popupTrigger, MouseEvent.NOBUTTON)哪里xabs和肝片定义为源的位置在屏幕上加上相对坐标X和Y xabs和肝片如果来源不显示设置为零。该方法抛出一个
IllegalArgumentException
如果
source
是
null
。
source
-
Component
起源事件
id
-整数表示事件的类型。在允许值的信息,看到
MouseEvent
类的描述
when
-一个长整数,给出时间发生的事件。不建议通过负或零值
modifiers
-改性剂的面具描述组合键和鼠标按钮(例如,移动,Ctrl,Alt,和元),在事件。只有扩展剂都可以作为此参数的值(见扩展性描述
InputEvent.getModifiersEx()
类)。不建议通过负参数。零值意味着没有通过的修饰语
x
-横坐标的鼠标位置。它被允许通过负值
y
-鼠标的位置垂直的Y坐标。它被允许通过负值
clickCount
-点击鼠标的次数与事件。传递负值不推荐
popupTrigger
-一个布尔值,等于
true
如果这个事件是一个弹出式菜单触发
IllegalArgumentException
-如果
source
是空的
EventObject.getSource()
,
AWTEvent.getID()
,
InputEvent.getWhen()
,
InputEvent.getModifiers()
,
getX()
,
getY()
,
getClickCount()
,
isPopupTrigger()
public MouseEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int button)
MouseEvent
对象类型、时间、改性剂、坐标,绝对坐标,点击数,popuptrigger旗,和按钮的数量。
创建一个无效的事件(例如使用一个以上的老_masks,或改性剂/按钮的值不匹配)在未指定行为的结果。即使将相对和绝对坐标的值不一致的值传递给构造函数,也可以创建鼠标事件实例,并不会引发异常。该方法抛出一个IllegalArgumentException
如果source
是null
。
source
-
Component
起源事件
id
-整数表示事件的类型。在允许值的信息,看到
MouseEvent
类的描述
when
-一个长整数,给出时间发生的事件。不建议通过负或零值
modifiers
-改性剂的面具描述组合键和鼠标按钮(例如,移动,Ctrl,Alt,和元),在事件。只有扩展剂都可以作为此参数的值(见扩展性描述
InputEvent.getModifiersEx()
类)。不建议通过负参数。零值意味着没有通过的修饰语
x
-横坐标的鼠标位置。它被允许通过负值
y
-鼠标的位置垂直的Y坐标。它被允许通过负值
xAbs
的绝对水平的x坐标是允许通过负价值的鼠标位置
yAbs
-绝对垂直的y坐标可以通过负价值的鼠标位置
clickCount
-点击鼠标的次数与事件。传递负值不推荐
popupTrigger
-一个布尔值,等于
true
如果这个事件是一个弹出式菜单触发
button
-一个整数,表示,它的鼠标按钮已经改变了它的状态。以下规则适用于此参数:
disabled
通过java则允许创建与标准按钮MouseEvent
对象:NOBUTTON
,BUTTON1
,BUTTON2
,和BUTTON3
。enabled
通过java则允许创建与标准按钮MouseEvent
对象。如果扩展鼠标按键的支持enabled
通过java,那么除了标准按钮,MouseEvent
对象可以创建使用按钮的范围从4到MouseInfo.getNumberOfButtons()
如果鼠标有超过三个按钮。IllegalArgumentException
-如果
button
小于零
IllegalArgumentException
-如果
source
是空的
IllegalArgumentException
-如果
button
大于按钮和扩展的鼠标按钮的支持是通过java
disabled
IllegalArgumentException
-如果
button
大于
current number of buttons
和扩展的鼠标按钮的支持是通过java
enabled
IllegalArgumentException
-如果一个无效的
button
价值传递
IllegalArgumentException
-如果
source
是空的
EventObject.getSource()
,
AWTEvent.getID()
,
InputEvent.getWhen()
,
InputEvent.getModifiers()
,
getX()
,
getY()
,
getXOnScreen()
,
getYOnScreen()
,
getClickCount()
,
isPopupTrigger()
,
getButton()
,
button
,
Toolkit.areExtraMouseButtonsEnabled()
,
MouseInfo.getNumberOfButtons()
,
InputEvent.getMaskForButton(int)
public Point getLocationOnScreen()
Point
对象。
GraphicsConfiguration
public int getXOnScreen()
GraphicsConfiguration
public int getYOnScreen()
GraphicsConfiguration
public int getModifiersEx()
扩展的修饰符修饰,以_down_mask后缀,如alt_down_mask,button1_down_mask,及其他。
扩展性代表所有模态键的状态,如ALT,CTRL,元,和刚刚发生的事件的鼠标按钮。
例如,如果用户按按钮1随后按钮2,然后释放他们以相同的顺序,产生了以下的事件序列:
MOUSE_PRESSED
:BUTTON1_DOWN_MASK
MOUSE_PRESSED
:BUTTON1_DOWN_MASK | BUTTON2_DOWN_MASK
MOUSE_RELEASED
:BUTTON2_DOWN_MASK
MOUSE_CLICKED
:BUTTON2_DOWN_MASK
MOUSE_RELEASED
:MOUSE_CLICKED
:
不建议将返回值使用这种方法==
因为新修饰符可以说在未来。例如,检查转向及Button1下降的适当方式,但Ctrl是由下面的代码演示了:
国际onmask = shift_down_mask | button1_down_mask;国际offmask = ctrl_down_mask;如果((事件。getmodifiersex() &(onmask | offmask))= = onmask){…}上面的代码将即使添加新的修饰工作。
getModifiersEx
方法重写,继承类
InputEvent
public int getX()
public int getY()
public Point getPoint()
Point
对象
public void translatePoint(int x, int y)
x
(水平)和
y
(垂直)偏移。
x
-水平x的值添加到当前的X坐标位置
y
-垂直Y值添加到当前Y坐标位置
public int getClickCount()
public int getButton()
MouseInfo.getNumberOfButtons()
价值。返回值至少包括以下参数:
NOBUTTON
BUTTON1
BUTTON2
BUTTON3
如果(一个事件。getbutton() = = MouseEvent。button1){特别的,一个一,两个鼠标,或三个按钮,此方法可能会返回以下值:
NOBUTTON
)BUTTON1
)BUTTON2
)BUTTON3
)BUTTON3
没有常数标识符。如果安装有五个按钮的鼠标,该方法会返回以下值:
NOBUTTON
)BUTTON1
)BUTTON2
)BUTTON3
)注意:如果扩展鼠标按键支持disabled
通过java那么AWT事件子系统不产生扩展的鼠标按钮的鼠标事件。所以,它并不期望这个方法返回NOBUTTON
除外,BUTTON1
,BUTTON2
什么,BUTTON3
。
MouseInfo.getNumberOfButtons()
如果扩展鼠标按键的支持是
enabled
通过java的值之一。这个范围包括
NOBUTTON
,
BUTTON1
,
BUTTON2
,
BUTTON3
;
NOBUTTON
,
BUTTON1
,如果扩展鼠标按键的支持是
disabled
通过java
BUTTON2
或
BUTTON3
Toolkit.areExtraMouseButtonsEnabled()
,
MouseInfo.getNumberOfButtons()
,
MouseEvent(Component, int, long, int, int, int, int, int, int, boolean, int)
,
InputEvent.getMaskForButton(int)
public boolean isPopupTrigger()
注:弹出菜单触发不同的不同的系统。因此,isPopupTrigger
应该在mousePressed
和mouseReleased
检查适当的跨平台功能。
public static String getMouseModifiersText(int modifiers)
String
实例描述组合键和鼠标按钮,在事件中,如“转移”,或者“Ctrl + Shift”。这些字符串可以通过改变
awt.properties
文件本地化。
请注意,InputEvent.ALT_MASK
和InputEvent.BUTTON2_MASK
有相等的值,所以“ALT”返回为改性剂。同样,在InputEvent.META_MASK
和InputEvent.BUTTON3_MASK
有相等的值,所以“元”返回为改性剂。
请注意,传递的负参数是不正确的,并会导致返回一个未指定的字符串。零参数意味着没有通过的修饰语,并会导致返回一个空字符串。
modifiers
-改性剂的面具描述组合键和鼠标按钮,在事件
InputEvent.getModifiersExText(int)
public String paramString()
paramString
方法重写,继承类
ComponentEvent
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, 2014, Oracle and/or its affiliates. All rights reserved.