有人能告诉我怎么解决这个问题吗..。
@Override
public void mouseClicked(MouseEvent me) {
super.mouseClicked(me);
if (me.getClickCount() >= 2) {
System.out.println("double click");
}else{
System.out.println("single click");
}
}当我在单击之间的任意时间双击我的组件时,它会在控制台中先写“单击”,然后写“双击”。谢谢你的回答。
发布于 2015-08-25 19:02:46
你不能像现在这样避免这样做。
当您第一次单击时,将立即调用mouseClicked事件,而不会等待第二次单击执行。这就是显示“单击”的原因。
这样做的一种方法是使用timer。单击后启动计时器,如果在1秒之前没有第二次单击(或您选择的任何时间),则考虑单击单个按钮,但如果有第二次单击,则将其视为双击。这个解决方案需要考虑一下如何实现,但我想不是不可能的。
https://stackoverflow.com/questions/32211887
复制相似问题