问答题

本程序中,主窗口中包括一个“打开文件选取器”按钮和一个文本域,单击按钮则可以弹出“打开”对话框,选择一个文件单击“打开”按钮后,则将该文件的字符流输入到文本域中,如图所示。


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class FileWin extends JFrame implements ActionListener
{ JButton button; JTextArea text;
JTextPane textpane;
FileInputStream readfile;
JScrollPane scroll;Container con;
JFileChooser chooser=new JFileChooser();
FileWin()
{ super("exam_97");
button=new JButton("打开文件选取器");
button.addActionListener(this);
textpane=new JTextPane();
scroll=new JScrollPane(textpane);
setSize(200,200);
setVisible(true);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{ System.exit(0);}} );
con=getContentPane();
con.add(button,BorderLayout.NORTH);
con.add(scroll,BorderLayout. CENTER);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==button)
{String s;
int state=chooser.showOpenDialog(null);
File file= ______;
if(file!=null&&state==JFileChooser.APPROVE_OPTION)
{ try{ readfile= ______;
}
catch(IOException ee){}
try{ textpane.read(readfile,this);
}
catch(IOException e1){}
}
}
}
}
public class exam_97
{public static void main(String args[])
{
FileWin Win=new FileWin();
}
}



【参考答案】

第1处:chooser.getSelectedFile()
第2处:new FileInputStream(file)