简单的问题,请各位帮忙

cn_zh 2001-11-20 04:10:24
我做了一个小程序:建了一个窗口,该窗口中有一个菜单项是“打开文件”。

我想在这个菜单项的监听函数里加入FileDialog aa = new FileDialog(Frame parent); 从而可以使我获得一个“打开文件”对话框。可是我如何获得这个Frame呢?

源代码大致如下:

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));

setVisible(true);
}

class MenuLis implements ActionListener
{
int select;

public MenuLis(int select)
{
this.select = select;
}

public void actionPerformed(ActionEvent e)
{
if(select==1)
{
FileDialog aa = new FileDialog(Frame parent); //如何获得这个parent??
}


}
}




}
...全文
58 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cherami 2001-11-20
  • 打赏
  • 举报
回复
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??
}


}
}

}
如果是只有一个菜单项需要这样的功能的监听器,最好的方法是使用匿名内部类。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧