if (SwingUtilities.isRightMouseButton(e)){
 ...
}

解决方案 »

  1.   

    谢谢! 不过我还想知道用e.isPopupTrigger()的方法为什么不能成功?是这个 方法已经不可用了么?
      

  2.   

    这个应该是判断JPopupMenu是否被激发的函数吧,返回数值为boolean
      

  3.   

    e本身已经是鼠标事件了,而判断鼠标事件是否为激发JPopupMenu,也就相当于判断是否是右键触发了吧!? 同时我也在书中看到过e.isPopupTrigger就是用于区分是右键还是左键触发的! 希望能解疑!
      

  4.   

    to xxdneu:你的方法好像不可行诶! :)
      

  5.   

    我觉得不是,我看api的意思好象是说是判断某个JPopupMenu是否被激活的意思,isPopupTrigger这个函数不是Event的函数啊,是JPopupMenu的,你的e.isPopupTrigger是哪来的,他是判断某个JPopupMenu是否被一个鼠标事件激活,如
    if (SwingUtilities.isRightMouseButton(e)){
     popupMenu.show();
     boolean b = popupMenu.isPopupTrigger(e);
    }
    那b应该就是true,我没试,你试试吧
      

  6.   

    SwingUtilities.isRightMouseButton(e):这个方法我已经试过了! 可以成功识别右键点击!同时api中 MouseEvent中也有isPopupTrigger这个方法,返回值为boolean就不知道为什么不能识别!
      

  7.   

    老兄,你迷进去了,呵呵,这个是识别是否popupmenu触发事件是否是这个mouseevent触发的,而不是左右键出发的
    MouseEvent 中的public boolean isPopupTrigger()这么写:
    Returns whether or not this mouse event is the popup menu trigger event for the platform.