2024年1月13日发(作者:)

java鼠标双击事件怎么实现

很多人都学习过java,但是你知道java鼠标双击事件怎么实现吗,跟着 小编一起学习ava鼠标双击事件。

java鼠标双击事件的实现方法

鼠标的单双击事件在很多时候对我们帮助很大,但是在JAVA中却没有给出鼠标双击事件.我们可以通过事件源ckCount()==2来判断鼠标点击次数来实现鼠标双击事件,例如:

public class MyMouseListener

extends dapter ...{

public void mouseClicked(MouseEvent e) ...{

n("clicked");

int clickTimes = ckCount();

1

if (clickTimes == 2) ...{

n("Doublc Clicked!");

}

}

}

但是这样并没有达到我们的要求,因为在每次触发双击事件的同时会触发单击事件.所以我们试图改进以上方案,不使用系统提供的

ckCount()方法.可以考虑当第一次单击鼠标的时候让鼠标单击事件延时0.2秒执行,而在这段时间里等待第二次单击,如果有第二次单击,那么我们执行双击事件任务,取消单击任务;如果在这段时间没有等到再次单击,那么执行单击任务.

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

public class MyMouseListener

2

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

3

=true;//双击事件已执行,事件标志为true

return;

}

//定义定时器

timer=new ();

//定时器开始执行,延时0.2秒后确定是否执行单击事件

le(new ask() ...{

private int n=0;//记录定时器执行次数

public void run() ...{

if()...{//如果双击事件已经执行,那么直接取消单击执行

4

n=0;

um=0;

();

return;

}

if (n == 1) ...{//定时器等待0.2秒后,双击事件仍未发生,执行单击事件

mouseSingleClicked(me);//执行单击事件

= true;

um=0;

n=0;

();

5

return;

}

clickNum++;

n++;

}

},new (),200);

}

/** *//**

* 鼠标单击事件

* @param e 事件源参数

*/

6

public void mouseSingleClicked(MouseEvent e)...{

n("Single Clicked!");

}

/** *//**

* 鼠标双击事件

* @param e 事件源参数

*/

public void mouseDoubleClicked(MouseEvent e)...{

n("Doublc Clicked!");

}

}

7

public class MyMouseListener extends MouseAdapter {

public void mouseClicked(MouseEvent evt) {

if (ckCount() == 3) {

// 处理鼠标三击

} else if (ckCount() == 2) {

// 处理鼠标双击

}

}

}

处理鼠标右键

public mouseClicked(MouseEvent e){

8

if(Down()){//检测鼠标右键单击

}

如何在小程序中处理鼠标中间键?

new MyMouseListener());

public class MyMouseListener extends MouseAdapter {

public void mouseClicked(MouseEvent evt) {

if ((ifiers() &?

1_MASK) != 0) {

processLeft(nt());

//处理鼠标左键单击

}

9

if ((ifiers() &?

2_MASK) != 0) {

processMiddle(nt());

//处理鼠标中间键单击

}

if ((ifiers() &?

3_MASK) != 0) {

processRight(nt());

//处理鼠标右键单击

java鼠标双击事件怎么实现相关文章:

鼠标双击事件

10

2.怎么用JS实现鼠标单击与双击事件共存

3.鼠标单击变成双击怎么解决

4.鼠标停在图片上变成小手怎么实现

5.在java中实现左右键菜单

如何设置鼠标左右键

7.鼠标单击变双击的修复方法

11