⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermouseadapter.java

📁 大型数据库课程设计源码
💻 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 + -