当前位置: 技术问答>java相关
简单的问题,请各位帮忙
来源: 互联网 发布时间:2015-02-22
本文导语: 我做了一个小程序:建了一个窗口,该窗口中有一个菜单项是“打开文件”。 我想在这个菜单项的监听函数里加入FileDialog aa = new FileDialog(Frame parent); 从而可以使我获得一个“打开文件”对话框。可是我如何获...
我做了一个小程序:建了一个窗口,该窗口中有一个菜单项是“打开文件”。
我想在这个菜单项的监听函数里加入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??
}
}
}
}
我想在这个菜单项的监听函数里加入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??
}
}
}
}
|
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??
}
}
}
}
如果是只有一个菜单项需要这样的功能的监听器,最好的方法是使用匿名内部类。