component是 popuMenu将要显示在那个组件上。可以是任何你想要将popumenu
显示在上面的component,例如JButton,JPanel等

解决方案 »

  1.   

    如果要得到component
    可以设置一个类成员 那个component调用 就把自己登记在该类成员!
      

  2.   

    实例化时带个参数就好了当然,那个m_parent也可以在后面设。class popupMenu{
       JPopupMenu menu;
       Component m_parent;
       popupMenu(Component parent){
           m_parent = parent;
           menu=new JPopupMenu();
           JMenuItem it=new JMenuItem("12");
           ...
       }
       void show(Event e,int x,int y){
          menu.show(m_parent,x,y);
       }
       public void setParentComponent(Component parent){
          m_parent = parent;
       }
    }
      

  3.   

    relive(六道轮回,无想转生) 
    说的很对,我就不说了。可真是个简单问题。
      

  4.   

    对不起,各位大侠,我表达的可能不清楚。
    我是不知道怎么获得component.
    public class A extends Canvas{}
    我要在该画布上弹出菜单。但是我怎么获得该构件,来传给popupMenu这个类?传this好像不行。
      

  5.   

    Canvas是awt的重量级组件,最好用PopupMenu这个类,JPopupMenu是show不出来的。建一个PopupMenu的实例,然后调用Canvas的add(PopupMenu);方法加入Canvas就可以了。
      

  6.   

    非常感谢relive和xmvigour!确实是因为Canvas是重量级组件的原因。
    还有 ZXJ518和newman0708,感谢你们的热心!