我在写程序过程中想同时检测到鼠标两个按钮都被按下的状态,可是在MouseEvent.getButton()方法中只能检测到其中一个(左或右)按钮的状态,请问各位我想检测到这样一种状态应该如何实现:
我按住了左按钮在未被释放的同时又按下了右按钮,此时我想得到这两个按钮同时被按下的状态,如何实现,感激不尽?

解决方案 »

  1.   

    long time = 0L;
    boolean left = false;
    boolean right = false;
    .........
    if(leftButton.click)
    {
           time = time==0 ? e.time : (e.time-time);
           left = true;
    }
    if(rightButton.click)
    {
           time = time==0 ? e.time : (e.time-time);
           right = true;
    }
    .................
    if(time <= 500 && left  &&  right)
    {
         doSomething();       //左右在0.5秒內被按
         left = false;
         right = false;
    }
      

  2.   

    MouseEvent.getButton()的同时检验时候还有此时间再次发生,不知道这样可不可以
      

  3.   

    检测鼠标左右键同时按下:public void mousePressed(MouseEvent me) {
        if (me.getModifiersEx()==(me.BUTTON1_DOWN_MASK + me.BUTTON3_DOWN_MASK)) {
            ......
        }
    }