📄 usermouseadapter.java
字号:
package com.vbank.admin.component;
import java.awt.event.MouseEvent;
//*用定时器延时单击事件实现鼠标双击事件,单击和双击事件互不影响!
public class UserMouseAdapter
extends java.awt.event.MouseAdapter {
private boolean flag=false;//用来判断是否已经执行双击事件
private int clickNum=0;//用来判断是否该执行双击事件
public void mouseClicked(MouseEvent e) {
final MouseEvent me=e;//事件源
this.flag=false;//每次点击鼠标初始化双击事件执行标志为false
if (this.clickNum == 1) {//当clickNum==1时执行双击事件
this.mouseDoubleClicked(me);//执行双击事件
this.clickNum=0;//初始化双击事件执行标志为0
this.flag=true;//双击事件已执行,事件标志为true
return;
}
//定义定时器
java.util.Timer timer=new java.util.Timer();
//定时器开始执行,延时0.2秒后确定是否执行单击事件
timer.schedule(new java.util.TimerTask(){
private int n=0;//记录定时器执行次数
public void run() {
if(flag){//如果双击事件已经执行,那么直接取消单击执行
n=0;
clickNum=0;
this.cancel();
return;
}
if (n == 1) {//定时器等待0.2秒后,双击事件仍未发生,执行单击事件
mouseSingleClicked(me);//执行单击事件
flag = true;
clickNum=0;
n=0;
this.cancel();
return;
}
clickNum++;
n++;
}
},new java.util.Date(),200); // 设置延迟时间
}
/** *//**
* 鼠标单击事件
* @param e 事件源参数
*/
public void mouseSingleClicked(MouseEvent e){
//System.out.println("Single Clicked!");
}
/** *//**
* 鼠标双击事件
* @param e 事件源参数
*/
public void mouseDoubleClicked(MouseEvent e){
//System.out.println("Doublc Clicked!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -