原先是学c#,但是由于公司的原因,必须学习java,请问我做了一个鼠标单击事件和鼠标双击事件,他们是不是用一个事件监听器呀?用一个的时候,有了单击就不执行双击了,去掉单击才可以执行双击。请高手帮帮忙。

解决方案 »

  1.   

    Java不知是Double Click是有原因的。
    因为并不是所有的平台都支持双击事件(比如一些嵌入式设备)双击需要自己设定Flag和计时器。
      

  2.   

    public void mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 2) {
    JOptionPane.showMessageDialog(null, "doubleClicked!");
    }
    }
      

  3.   

    boolean clicked = flase;
    int firstClickTime = 0;pubilc void mouseClicked(MouseEvent e){
      if(!clicked) {
         //click event process
         clicked = true;
         firstClickTime = getTime();
      }
      else {
         if(getTime()-firstClickTime<DOUBLE_CLICK_BAR) {
            //double click event process
            clicked = false;
            firstClickTime = 0;
         }
         else {
            //click event process
            firstClickTime = getTime();
         }
      }
    }