![](/img/trans.png)
[英]How to check if mouse pressed and still pressed on a button in java swing app
[英]How to check if and which mouse button is pressed in Swing
我如何检查当前是否按下了鼠标按钮,如果按下了,是哪一个?
问题是我需要在MouseListener.mouseEntered()
使用这种信息。 我检查了MouseEvent
但是找不到可以帮助我的方法。
如果按钮状态发生变化,则getButton()
方法似乎仅返回值。
有没有一种方法可以找到此结果,而无需手动跟踪MouseListener.mousePressed()/mouseReleased()
方法。
我如何检查当前是否按下了鼠标按钮,如果按下了,是哪一个?
大概您想根据所按下的按钮来调用特定的代码,因此您可以执行以下操作:
if (SwingUtilities.isLeftMouseButton(...))
// do something
您可以从如何编写鼠标侦听器以及如何 为MouseEvent 编写 JavaDocs (特别是getButton方法)开始。
但是,需要考虑跨平台的注意事项,而SwingUtilities.isLeftMouseButton和等效方法对此有影响。
这将解决您的问题
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
获取源代码和按钮,然后执行您想执行的所有操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.