Java双击不包括singleclick

时间:2015-08-25 18:55:14

标签: java events mouselistener double-click

任何人都可以告诉我如何解决这个问题......

@Override
public void mouseClicked(MouseEvent me) {
    super.mouseClicked(me);
        if (me.getClickCount() >= 2) {
            System.out.println("double click");
        }else{
            System.out.println("single click");
    }
}

当我在点击之间的任何时间双击我的组件时,它首先在控制台中写入“单击”,然后“双击”。 谢谢你的回答。

1 个答案:

答案 0 :(得分:0)

你无法以现在的方式避免这种情况。

第一次单击时,mouseClicked事件立即被调用,并且不会等待第二次单击执行。这就是为什么"单击"显示。

这样做的方法是使用计时器。点击后启动计时器,如果在1秒之前(或您选择的任何时间)没有第二次点击,则考虑单击,但如果有第二次点击则将其视为双击。 这个解决方案需要一些思考如何实现,但我想是不可能的。