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??
}
}
}}
如果是只有一个菜单项需要这样的功能的监听器,最好的方法是使用匿名内部类。
{
... 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??
}
}
}}
如果是只有一个菜单项需要这样的功能的监听器,最好的方法是使用匿名内部类。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货