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


发布评论