如何检查当前是否按下任何鼠标按钮,如果是,是哪一个?
问题是我需要在MouseListener.mouseEntered()
中使用这种信息。我检查了MouseEvent
,但我找不到可以帮助我的方法。
getButton()
方法似乎只返回值,如果按钮有变化'状态。
有没有办法找到这个,而不用手动跟踪这个MouseListener.mousePressed()/mouseReleased()
方法。
答案 0 :(得分:8)
如何检查当前是否按下任何鼠标按钮,如果是,是哪一个?
据推测,您希望根据按下的按钮调用特定代码,以便执行以下操作:
if (SwingUtilities.isLeftMouseButton(...))
// do something
答案 1 :(得分:3)
您可以首先查看How to write a Mouse Listener和JavaDocs for MouseEvent,getButton方法。
但是,有一些需要考虑的跨平台考虑因素,SwingUtilities.isLeftMouseButton和等效方法......
答案 2 :(得分:1)
这将解决您的问题
long eventMask = AWTEvent.MOUSE_MOTION_EVENT_MASK + AWTEvent.MOUSE_EVENT_MASK;
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
System.out.println(e.paramString()+"-"+e.getSource());
}
}, eventMask);
从AWTEvent
获取来源和按钮,并执行您想要执行的任何操作。