精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦硬件知識(shí)>鍵盤鼠標(biāo)>

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

      時(shí)間: 沈迪豪908 分享

        愛學(xué)習(xí)的小伙伴們,可能都學(xué)習(xí)過java,但是你知道java鼠標(biāo)雙擊事件是怎么實(shí)現(xiàn)的嗎?不知道的話跟著學(xué)習(xí)啦小編一起來學(xué)習(xí)了解java鼠標(biāo)雙擊事件吧。

        java鼠標(biāo)雙擊事件實(shí)例介紹

        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á)到我們的要求,因?yàn)樵诿看斡|發(fā)雙擊事件的同時(shí)會(huì)觸發(fā)單擊事件.所以我們?cè)噲D改進(jìn)以上方案,不使用系統(tǒng)提供的e.getClickCount()方法.可以考慮當(dāng)?shù)谝淮螁螕羰髽?biāo)的時(shí)候讓鼠標(biāo)單擊事件延時(shí)0.2秒執(zhí)行,而在這段時(shí)間里等待第二次單擊,如果有第二次單擊,那么我們執(zhí)行雙擊事件任務(wù),取消單擊任務(wù);如果在這段時(shí)間沒有等到再次單擊,那么執(zhí)行單擊任務(wù).

        下面是用定時(shí)器延時(shí)單擊事件實(shí)現(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;//每次點(diǎn)擊鼠標(biāo)初始化雙擊事件執(zhí)行標(biāo)志為false

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

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

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

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

        return;

        }

        //定義定時(shí)器

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

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

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

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

        public void run() ...{

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

        n=0;

        MyMouseListener.clickNum=0;

        this.cancel();

        return;

        }

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

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

        MyMouseListener.flag = true;

        MyMouseListener.clickNum=0;

        n=0;

        this.cancel();

        return;

        }

        clickNum++;

        n++;

        }

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

        }

        /** *//**

        * 鼠標(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!");

        }

        }

        //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個(gè)文件編譯一下,再運(yùn)行 Test.java 文件即可

      ava鼠標(biāo)雙擊事件相關(guān)文章:

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

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

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

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

      5.計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)論文

      1998268