问答题

本程序的功能是捕获通过“保存文件话框”和“打开文件话框”所选中的文件名称。程序窗口中有一个“文件”菜单和一个文本域,“文件”菜单中包括“保存文件”和“打开文件”菜单项,单击“保存文件”或“打开文件”菜单项,就会弹出一个“保存文件话框”或“打开文件话框”,退出该对话框后,将在文本域中显示所单击的菜单和所选文件的名称,如图所示。


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()
热门 试题

问答题
本程序中,主窗口有一个“打开对话框”按钮和一个文本域,单击“打开对话框”按钮后会弹出一个对话框,对话框上有两个按钮“Yes”和“No”,单击对话框上的“Yes”或“No”按钮后返回主窗口,并在右侧文本域中显示刚才所单击的按钮信息,如图所示。import java.awt.event.*;import java.awt.*;class MyDialog ______ implements ActionListener{ static final int YES=1,NO=0;int message=-1; Button yes,no;MyDialog(Frame f, String s,boolean b){ super(f,s,b);yes=new Button ( Yes ); yes.addActionListener(this);no=new Button ( No ); no.addActionListener (this);setLayout (new FlowLayout ());add(yes); add(no);setBounds(60,60,100,100);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ message=-1;setVisible(false);}});}Dublic void actionPerformed(ActionEvent e){ if(e.getSource()==yes){ message=YES;setVisible(false);}else if(e.getSource()==no){ message=NO;setVisible(false);}}public int getMessage(){ return message;}class Dwindow extends Frame implements ActionListener{ TextArea text; Button button; MyDialog dialog;Dwindow (String s){ super(s);text=new TextArea (5, 22); button=new Button ( 打开对话框 );button, addActionListener (this);setLayout(new FlowLayout());add(button); add(text);dialog=new MyDialog (this, Dialog , true);setBounds(60,60,300,300); setVisible(true);validate ( );addWindowListener (new WindowAdapter (){ public void windowClosing(WindowEvent e){ System.exit (0);}});}public void actionPerformed(ActionEvent e){ if (e.getSource () ==button){ ______;if (dialog. getMessage () ==MyDialog. YES){ text.append( n 你单击了对话框的yes按钮 );}else if (dialog. getMessage ( ) ==MyDialog. NO){ text .append ( n你单击了对话框的No按钮 );}}}}public class exam_87{ public static void main(String args[]){ new Dwindow( exam_87 );}}