如何检查当前是否有任何鼠标按钮被按下,如果是,是哪一个?问题是我需要用这些信息 MouseListener.mouseEntered() . 我查过了 MouseEvent 但是我找不到对我有帮助的方法。这个 getButton() 方法似乎只有在按钮状态发生变化时才返回值。有没有一种方法可以在不手动跟踪这个vie的情况下找到答案 MouseListener.mousePressed()/mouseReleased() 方法。
MouseListener.mouseEntered()
MouseEvent
getButton()
MouseListener.mousePressed()/mouseReleased()
dm7nw8vv1#
如何检查当前是否有任何鼠标按钮被按下,如果是,是哪一个?您可能希望根据按下的按钮调用特定代码,以便执行以下操作:
if (SwingUtilities.isLeftMouseButton(...)) // do something
umuewwlo2#
您可以先看看如何编写鼠标侦听器,特别是mouseevent的javadocs,getbutton方法。但是,有一些跨平台的考虑需要考虑,swingutilities.isleftmousebutton和等效方法都忽略了这一点。。。
d6kp6zgx3#
这会解决你的问题
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 做你想做的事。
AWTEvent
3条答案
按热度按时间dm7nw8vv1#
如何检查当前是否有任何鼠标按钮被按下,如果是,是哪一个?
您可能希望根据按下的按钮调用特定代码,以便执行以下操作:
umuewwlo2#
您可以先看看如何编写鼠标侦听器,特别是mouseevent的javadocs,getbutton方法。
但是,有一些跨平台的考虑需要考虑,swingutilities.isleftmousebutton和等效方法都忽略了这一点。。。
d6kp6zgx3#
这会解决你的问题
这是一个全局事件侦听器。
从中获取源代码和按钮
AWTEvent
做你想做的事。