问答题
本程序的功能是捕获通过“保存文件话框”和“打开文件话框”所选中的文件名称。程序窗口中有一个“文件”菜单和一个文本域,“文件”菜单中包括“保存文件”和“打开文件”菜单项,单击“保存文件”或“打开文件”菜单项,就会弹出一个“保存文件话框”或“打开文件话框”,退出该对话框后,将在文本域中显示所单击的菜单和所选文件的名称,如图所示。
import java.awt.*;
import java.awt.event.*;
public class exam_88
{ public static void main(String args[])
{ FWindow f=new FWindow("exam_88");
}
}
class FWindow extends Frame implements ActionListener
{ FileDialog filedialog save,
filedialog_load;
MenuBar menubar;
Menu menu;
MenuItem itemSave, itemLoad;
TextArea text;
FWindow(String s)
{ super (s);
setSize(300,400);setVisible(true);
text=new TextArea(10,10);
add(text,"Center"); validate();
menubar=new MenuBar();menu=new Menu("文件");
itemSave=new MenuItem ("保存文件");
itemLoad=new MenuItem("打开文件");
itemSave.addActionListener(this);
itemLoad.addActionListener(this);
menu.add(itemSave); menu.add(itemLoad);
menubar.add(menu);
setMenuBar(menubar);
filedialog_save=new Filemialog(this,"保存文件话框",______);
filedialog save.setVisible(false);
filedialog_load=new Filemialog(this,"打开文件话框",FileDialog. LOAD);
filedialog load.setVisible(false);
filedialogsave.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ filedialog_save.setVisible(false);
}
});
filedialog_load, addWindowListener (new WindowAdapter ()
{public void windowClosing (WindowEvent e)
{ filedialog load.setVisible(false);
}
});
addWindowListener (new WindowAdapter ()
{public void windowClosing(WindowEvent e)
{ setVisible (false);System.exit (0);
}
});
}
public void actionPerformed (ActionEvent e)
{ if (e.getSource () ==itemSave)
{ filedialog_save, setVisible (true);
String name= ______;
if (name !=null)
{ text.setText ("你选择了保存文件,名字是"+name);
}
else
{ text.setText ("没有保存文件");
}
}
else if(e.getSource()==itemLoad)
{ filedialog_load, setVisible (true);
String name=filedialog load.getFile();
if (name ! =null)
{ text. setText("你选择了打开文件,名字是"+name);
}
else
{ text. setText ("没有打开文件");
}
}
}
}
【参考答案】
第1处:FileDialog.SAVE
第2处:filedialog_save.getFile()