public class cw2 extends Frame
{
... public static void main(String args[])
  {
  cw2 ex = new cw2();
  
  ex.show();
  
}cw2()
{
setTitle("Pie Chart");
  setSize(640,480);
  //setLocation(100,100); //如何改为在屏幕正中显示??
  setResizable(false);
  
  
  MenuBar mainmenu = new MenuBar();
  Menu menu_1 = new Menu("File");
  Menu menu_2 = new Menu("Other");
  MenuItem menuitem_1 = new MenuItem("Open");
  MenuItem menuitem_2 = new MenuItem("Exit");
  MenuItem menuitem_3 = new MenuItem("About");
  
  mainmenu.add(menu_1);
  mainmenu.add(menu_2);
  
  menu_1.add(menuitem_1);
  menu_1.addSeparator();
  menu_1.add(menuitem_2);
  menu_2.add(menuitem_3);
  
  setMenuBar(mainmenu);  
  
  menuitem_2.addActionListener(new MenuLis(2,this));
  
  setVisible(true); 
}class MenuLis implements ActionListener
{
int select;
Frame p;
public MenuLis(int select,Frame p)
{
this.select = select; 
this.p=p;
} public void actionPerformed(ActionEvent e)
{
if(select==1)
{
FileDialog aa = new FileDialog(p); //如何获得这个parent??
}
}
}}
如果是只有一个菜单项需要这样的功能的监听器,最好的方法是使用匿名内部类。