在图形界面上显示文本信息2.2

来源:互联网 发布:工业机器人编程语言co 编辑:程序博客网 时间:2024/06/05 16:17

功能:将制定的文本文档的内容显示在图形界面上
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/*
 * 这个类本身就是一个界面
 * */
public class Test extends JFrame {
public Test(){
/*设置本界面的属性:标题,关闭事件,位置,大小*/
setTitle("文本文件显示器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(500,100);
setSize(new Dimension(400,300));
setLayout(new BorderLayout());

/*新建用于显示文件的控件JTextField*/
JTextArea area = new JTextArea();
//设置为不可编辑,不允许修改内容
area.setEditable(false);
/*将显示文本的控件添加到本界面中,用带有滚动条的面板包住*/
JScrollPane pane = new JScrollPane(area);
getContentPane().add(pane,BorderLayout.CENTER);

/*初始化要显示的文件,从文本文件中读取*/
String  contentString  = getContentFromFile("D:/Desktop/任务/任务1.txt");
//设置要显示的文本
area.setText(contentString);

setVisible(true);
}

//从文件中读取字符串,返回读取到的字符串
private String getContentFromFile(String string) {
//文件读取器
FileReader fReader = null;
//缓冲读取器
BufferedReader bReader = null;
//字符串缓冲区
StringBuffer sBuffer = new StringBuffer();
//临时读取一行文本
String string2 = "";
try {
//文件读取初始化
//新建文件读取器
fReader = new FileReader(string);
//新建缓冲读取器
bReader = new BufferedReader(fReader);
//一直读取至文件尾
while ((string2 = bReader.readLine())!=null) {
//读取一行并加入到字符串缓冲
sBuffer.append(string2);
//换行
sBuffer.append("\n");
}
} catch (FileNotFoundException e) {
// 文件找不到,则返回"文件不存在"
return "文件不存在";
}catch (IOException e){
// 文件操作异常,则返回"文件操作出错"
return "文件操作出错";
}catch (Exception e) {
//// 未知异常,则返回"读取异常"
return "读取异常";
}
//返回读取缓冲区的字符串
return sBuffer.toString();

}


public static void main(String[] args) {
//新建一个对象
new Test();
}


}
0 0