任何人都可以告诉我如何解决这个问题......
@Override
public void mouseClicked(MouseEvent me) {
super.mouseClicked(me);
if (me.getClickCount() >= 2) {
System.out.println("double click");
}else{
System.out.println("single click");
}
}
当我在点击之间的任何时间双击我的组件时,它首先在控制台中写入“单击”,然后“双击”。 谢谢你的回答。
答案 0 :(得分:0)
你无法以现在的方式避免这种情况。
第一次单击时,mouseClicked事件立即被调用,并且不会等待第二次单击执行。这就是为什么"单击"显示。
这样做的方法是使用计时器。点击后启动计时器,如果在1秒之前(或您选择的任何时间)没有第二次点击,则考虑单击,但如果有第二次点击则将其视为双击。 这个解决方案需要一些思考如何实现,但我想是不可能的。