我的程序捕获一个 menuitem event,但是我想知道这个event的事件源是Menubar上弹出的菜单项还是右键Jpopupmenu上的菜单项。
单从这个event怎么才能判断出来了?
因为不管是哪个上面的menuitem,它的parent都是jpopupmenu,所以不好判断
另外调用event的方法isPopupTrigger,这二种情况返回都是false

解决方案 »

  1.   

    把event的所有内容列印出来,你需要的应该在里面System.out.println(event.toString());
      

  2.   

    java.awt.event.MouseEvent[MOUSE_PRESSED,(27,9),button=1,modifiers=Button1,extModifiers=Button1,clickCount=1] on javax.swing.JMenuItem[,3,3,125x23,alignmentX=null,alignmentY=null,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@1d03a4e,flags=264,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2],paintBorder=false,paintFocus=false,pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=打开EXCEL文件]java.awt.event.MouseEvent[MOUSE_PRESSED,(40,10),button=1,modifiers=Button1,extModifiers=Button1,clickCount=1] on javax.swing.JMenuItem[,3,3,125x23,alignmentX=null,alignmentY=null,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@1d03a4e,flags=264,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2],paintBorder=false,paintFocus=false,pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=打开EXCEL文件]
    这二个event一个是menubar下的menuitem,一个是右键菜单下的menuitem,能看出有什么区别吗?
      

  3.   

    继承JMenuItem,增加一个属性来判断
      

  4.   

    不太明白你的意思,即使是其它jar包中的类也可以继承