2024年4月5日发(作者:)

java鼠标双击事件 java鼠标双击监听

public class MyMouseListener

extends dapter ...{

public void mouseClicked(MouseEvent e) ...{

n("clicked");

int clickTimes = ckCount();

if (clickTimes == 2) ...{

n("Doublc Clicked!");

}

}

} 但是这样并没有达到我们的要求,因为在每次触发双击事件的同时会触发单击事件.所

以我们试图改进以上方案,不使用系统提供的ckCount()方法.可以考虑当第一次单

击鼠标的时候让鼠标单击事件延时0.2秒执行,而在这段时间里等待第二次单击,如果有第

二次单击,那么我们执行双击事件任务,取消单击任务;如果在这段时间没有等到再次单击,那

么执行单击任务.

下面是用定时器延时单击事件实现鼠标双击事件,单击和双击事件互不影响!

public class MyMouseListener

extends dapter ...{

private static boolean flag=false;//用来判断是否已经执行双击事件

private static int clickNum=0;//用来判断是否该执行双击事件

public void mouseClicked(MouseEvent e) ...{

final MouseEvent me=e;//事件源

=false;//每次点击鼠标初始化双击事件执行标志为false

if (um == 1) ...{//当clickNum==1时执行双击事件

oubleClicked(me);//执行双击事件

um=0;//初始化双击事件执行标志为0