if(e.getModifiers()==MouseEvent.BUTTON1_MASK && e.getModifiers()    ==MouseEvent.BUTTON3_MASK)
{
  ...
}不知道是否可行

解决方案 »

  1.   

    这个我也想过,但事实上,真正能够同时按下左右键的情况很罕见的
    一般会有先后,但是间隔时间极短,所以你写的这个只能测试到同时按下的情况
    但对于绝大多数的有先后的事件是无法监听到的,微软的那个就是有极短的先后也能做出反映,我不知道这是不是要加一个Timer之类的东西,我也不会写,向大家指教!
      

  2.   

    想到一个比较笨的方法:  boolean flag1 = false;
      boolean flag3 = false;  public void mousePressed(MouseEvent e) {
        
        
        if(e.getModifiers()==MouseEvent.BUTTON1_MASK ){
            flag1 = true;
            //...
        }
        if(e.getModifiers()==MouseEvent.BUTTON3_MASK ){
            flag3 = true;
            //...
        }
        if(flag1 && flag3){
            //...
        }    
      } public void mouseReleased(MouseEvent e) {
        if(e.getModifiers()==MouseEvent.BUTTON1_MASK ){
          flag1 = false;
          //...
        }
        if(e.getModifiers()==MouseEvent.BUTTON3_MASK ){
          flag3 = false;
          //...
        }
        
      }