亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識 > 鍵盤鼠標(biāo) > java鼠標(biāo)雙擊事件怎么實現(xiàn)

      java鼠標(biāo)雙擊事件怎么實現(xiàn)

      時間: 沈迪豪908 分享

      java鼠標(biāo)雙擊事件怎么實現(xiàn)

        很多人都學(xué)習(xí)過java,但是你知道java鼠標(biāo)雙擊事件怎么實現(xiàn)嗎,跟著學(xué)習(xí)啦小編一起學(xué)習(xí)ava鼠標(biāo)雙擊事件。

        java鼠標(biāo)雙擊事件的實現(xiàn)方法

        鼠標(biāo)的單雙擊事件在很多時候?qū)ξ覀儙椭艽?但是在JAVA中卻沒有給出鼠標(biāo)雙擊事件.我們可以通過事件源e.getClickCount()==2來判斷鼠標(biāo)點擊次數(shù)來實現(xiàn)鼠標(biāo)雙擊事件,例如:

        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!");

        }

        }

        }

        但是這樣并沒有達(dá)到我們的要求,因為在每次觸發(fā)雙擊事件的同時會觸發(fā)單擊事件.所以我們試圖改進(jìn)以上方案,不使用系統(tǒng)提供的 e.getClickCount()方法.可以考慮當(dāng)?shù)谝淮螁螕羰髽?biāo)的時候讓鼠標(biāo)單擊事件延時0.2秒執(zhí)行,而在這段時間里等待第二次單擊,如果有第二次單擊,那么我們執(zhí)行雙擊事件任務(wù),取消單擊任務(wù);如果在這段時間沒有等到再次單擊,那么執(zhí)行單擊任務(wù).

        下面是用定時器延時單擊事件實現(xiàn)鼠標(biāo)雙擊事件,單擊和雙擊事件互不影響!

        public class MyMouseListener

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

        private static boolean flag=false;//用來判斷是否已經(jīng)執(zhí)行雙擊事件

        private static int clickNum=0;//用來判斷是否該執(zhí)行雙擊事件

        public void mouseClicked(MouseEvent e) ...{

        final MouseEvent me=e;//事件源

        this.flag=false;//每次點擊鼠標(biāo)初始化雙擊事件執(zhí)行標(biāo)志為false

        if (this.clickNum == 1) ...{//當(dāng)clickNum==1時執(zhí)行雙擊事件

        this.mouseDoubleClicked(me);//執(zhí)行雙擊事件

        this.clickNum=0;//初始化雙擊事件執(zhí)行標(biāo)志為0

        this.flag=true;//雙擊事件已執(zhí)行,事件標(biāo)志為true

        return;

        }

        //定義定時器

        java.util.Timer timer=new java.util.Timer();

        //定時器開始執(zhí)行,延時0.2秒后確定是否執(zhí)行單擊事件

        timer.schedule(new java.util.TimerTask() ...{

        private int n=0;//記錄定時器執(zhí)行次數(shù)

        public void run() ...{

        if(MyMouseListener.flag)...{//如果雙擊事件已經(jīng)執(zhí)行,那么直接取消單擊執(zhí)行

        n=0;

        MyMouseListener.clickNum=0;

        this.cancel();

        return;

        }

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

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

        MyMouseListener.flag = true;

        MyMouseListener.clickNum=0;

        n=0;

        this.cancel();

        return;

        }

        clickNum++;

        n++;

        }

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

        }

        /** *//**

        * 鼠標(biāo)單擊事件

        * @param e 事件源參數(shù)

        */

        public void mouseSingleClicked(MouseEvent e)...{

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

        }

        /** *//**

        * 鼠標(biāo)雙擊事件

        * @param e 事件源參數(shù)

        */

        public void mouseDoubleClicked(MouseEvent e)...{

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

        }

        }

        public class MyMouseListener extends MouseAdapter {

        public void mouseClicked(MouseEvent evt) {

        if (evt.getClickCount() == 3) {

        // 處理鼠標(biāo)三擊

        } else if (evt.getClickCount() == 2) {

        // 處理鼠標(biāo)雙擊

        }

        }

        }

        處理鼠標(biāo)右鍵

        public mouseClicked(MouseEvent e){

        if(e.isMetaDown()){//檢測鼠標(biāo)右鍵單擊

        }

        如何在小程序中處理鼠標(biāo)中間鍵?

        new MyMouseListener());

        public class MyMouseListener extends MouseAdapter {

        public void mouseClicked(MouseEvent evt) {

        if ((evt.getModifiers() &?

        InputEvent.BUTTON1_MASK) != 0) {

        processLeft(evt.getPoint());

        //處理鼠標(biāo)左鍵單擊

        }

        if ((evt.getModifiers() &?

        InputEvent.BUTTON2_MASK) != 0) {

        processMiddle(evt.getPoint());

        //處理鼠標(biāo)中間鍵單擊

        }

        if ((evt.getModifiers() &?

        InputEvent.BUTTON3_MASK) != 0) {

        processRight(evt.getPoint());

        //處理鼠標(biāo)右鍵單擊

      java鼠標(biāo)雙擊事件怎么實現(xiàn)相關(guān)文章:

      1.java鼠標(biāo)雙擊事件

      2.怎么用JS實現(xiàn)鼠標(biāo)單擊與雙擊事件共存

      3.鼠標(biāo)單擊變成雙擊怎么解決

      4.鼠標(biāo)停在圖片上變成小手怎么實現(xiàn)

      5.在java中實現(xiàn)左右鍵菜單

      6.java如何設(shè)置鼠標(biāo)左右鍵

      7.鼠標(biāo)單擊變雙擊的修復(fù)方法

      2006906