问答题
本程序中,设定了读取文件exam_98.java的进度条,并将文件中的字符流显示在文本域中(为了增加可视性,将每次读取延迟了1秒钟),如图所示。
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class exam_98
{ public static void main(String args[])
{ byte b[]=new byte[30];
JTextArea text=new JTextArea(20,20);
JFrame jframe=new JFrame();
jframe.setSize(400,300);
jframe.setBackground(Color.blue);
jframe.setVisible(true);
jframe.addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);} });
Container contentpane=jframe.getContentPane();
contentpane.add(text,BorderLayout.CENTER);
try{ FileInputStream input=new FileInputStream("exam_98.java");
ProgressMonitorInputStream input_progress=
______ (contentpane,"读取java文件",input);
ProgressMonitor p=input_progress.getProgressMonitor();
while(input progress.read(b) !=-1)
{ String s=new String(b);
______;
Thread.sleep(1000);
}
}
catch(InterruptedException e){}
catch(IOException e){}
}
}
【参考答案】
第1处:new ProgressMonitorInputStream
第2处:text.append(s)