Distinguish between a single click and a double click in Java

后端 未结 2 427
后悔当初
后悔当初 2020-11-30 07:56

I search the forum and see this codes:

            public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2) {
                System.         


        
2条回答
  •  迷失自我
    2020-11-30 08:53

     public void mouseClicked(MouseEvent evt) { 
       if (evt.getButton()==MouseEvent.BUTTON1){
        leftClick = true; clickCount = 0;
        if(evt.getClickCount() == 2) doubleClick=true;
        Integer timerinterval = (Integer)Toolkit.getDefaultToolkit().getDesktopProperty("awt.multiClickInterval");
    
                   timer = new Timer(timerinterval, new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {  
                        if(doubleClick){
                            System.out.println("double click.");
                            sb = new StringBuffer();
                            sb.append("Double Click");
                            clickCount++;
                            if(clickCount == 2){                               
                                clickCount=0;
                                doubleClick = false;
                            }
    
                        } else {
    
                            sb = new StringBuffer();
                            sb.append("Left Mouse");
                            System.out.println("single click.");                           
                        }
                    }               
                });
                timer.setRepeats(false);
                timer.start();
                if(evt.getID()==MouseEvent.MOUSE_RELEASED) timer.stop();
    }           
    

提交回复
热议问题