9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦>學習電腦>電腦硬件知識>鍵盤鼠標>

java鼠標雙擊事件

時間: 沈迪豪908 分享

  愛學習的小伙伴們,可能都學習過java,但是你知道java鼠標雙擊事件是怎么實現的嗎?不知道的話跟著學習啦小編一起來學習了解java鼠標雙擊事件吧。

  java鼠標雙擊事件實例介紹

  public class MyMouseListener

  extends java.awt.event.MouseAdapter ...{

  public void mouseClicked(MouseEvent e) ...{

  System.out.println("clicked");

  int clickTimes = e.getClickCount();

  if (clickTimes == 2) ...{

  System.out.println("Doublc Clicked!");

  }

  }

  } 但是這樣并沒有達到我們的要求,因為在每次觸發雙擊事件的同時會觸發單擊事件.所以我們試圖改進以上方案,不使用系統提供的e.getClickCount()方法.可以考慮當第一次單擊鼠標的時候讓鼠標單擊事件延時0.2秒執行,而在這段時間里等待第二次單擊,如果有第二次單擊,那么我們執行雙擊事件任務,取消單擊任務;如果在這段時間沒有等到再次單擊,那么執行單擊任務.

  下面是用定時器延時單擊事件實現鼠標雙擊事件,單擊和雙擊事件互不影響!

  public class MyMouseListener

  extends java.awt.event.MouseAdapter ...{

  private static boolean flag=false;//用來判斷是否已經執行雙擊事件

  private static 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(MyMouseListener.flag)...{//如果雙擊事件已經執行,那么直接取消單擊執行

  n=0;

  MyMouseListener.clickNum=0;

  this.cancel();

  return;

  }

  if (n == 1) ...{//定時器等待0.2秒后,雙擊事件仍未發生,執行單擊事件

  mouseSingleClicked(me);//執行單擊事件

  MyMouseListener.flag = true;

  MyMouseListener.clickNum=0;

  n=0;

  this.cancel();

  return;

  }

  clickNum++;

  n++;

  }

  },new java.util.Date(),500);

  }

  /** *//**

  * 鼠標單擊事件

  * @param e 事件源參數

  */

  public void mouseSingleClicked(MouseEvent e)...{

  System.out.println("Single Clicked!");

  }

  /** *//**

  * 鼠標雙擊事件

  * @param e 事件源參數

  */

  public void mouseDoubleClicked(MouseEvent e)...{

  System.out.println("Doublc Clicked!");

  }

  }

  //Test.java

  import javax.swing.*;

  import java.awt.*;

  import java.awt.event.*;public class Test extends JFrame{

  public Test(){

  super("test");

  init();

  this.setSize(800,600);

  this.setVisible(true);

  }

  private void init(){

  JButton b=new JButton("button");

  b.setBounds(50,50,100,30);

  this.getContentPane().setLayout(null);

  this.getContentPane().add(b);

  b.addMouseListener(new MyMouseListener());

  }

  public static void main(String args[]){

  new Test();

  }

  }你將以上2個文件編譯一下,再運行 Test.java 文件即可

ava鼠標雙擊事件相關文章:

1.怎么用JS實現鼠標單擊與雙擊事件共存

2.鼠標單擊變成雙擊怎么解決

3.鼠標單擊變雙擊或者多擊怎么解決

4.鼠標單擊變雙擊的修復方法

5.計算機網絡實驗論文

1998268 主站蜘蛛池模板: 又大又硬又爽免费视频| 亚洲午夜理论片在线观看| 色婷婷综合久久久久中文字幕| 久久综合九色综合欧洲98| 高清自拍亚洲精品二区| 中文字幕精品亚洲二区| 亚洲日本精品一区二区| 中国熟妇毛多多裸交视频| 无码专区 人妻系列 在线| 成人免费AA片在线观看 | 精品久久精品久久精品久久| 亚洲肥熟女一区二区三区| 亚洲综合在线亚洲优优色| 人人妻人人澡人人爽曰本| 欧美激情一区二区久久久| 亚洲熟少妇一区二区三区| 亚洲一区二区三区黄色片| 国产精品色悠悠在线观看| 国产蜜臀一区二区在线播放| 日韩在线视频一区二区三区| 成人午夜福利精品一区二区| 亚洲国产成人精品女久久| 国产午夜三级一区二区三| 国产精品尤物午夜福利| 蜜臀av久久国产午夜| 国产四虎永久免费观看| 久久精品国产清自在天天线| 福利一区二区在线观看| 在线 欧美 中文 亚洲 精品| 一区二区三区激情都市| 午夜成人无码免费看网站| 18禁超污无遮挡无码网址| 又大又粗欧美成人网站| 无码国内精品久久人妻蜜桃| 自拍视频在线观看三级| 十九岁的日本电影免费观看| 国产第一区二区三区精品| 精品一区二区三区在线观看l| 国产最新AV在线播放不卡| 亚洲一本大道在线| 国产超碰无码最新上传|