您的位置:首页 > 其它

简易阅读器(能导入txt文件,可以改变背景颜色,包含文件选择框和颜色选择框的使用)

2009-07-06 20:14 701 查看
package MyReader;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileNotFoundException;
public class Reader {
public static void main(String []args){
new frame();
}
}
class frame extends JFrame{
public final static int start_point_X=300;
public final static int start_point_Y=100;
public final static int width_of_reader=450;
public final static int height_of_reader=600;
public final static int width_of_textArea=width_of_reader;
public final static int height_of_textArea=(int)(height_of_reader*0.9)-30;
JPanel reader_panel;
JTextArea reader_area;
String file_url;
public frame(){
super("My-Own-Reader!");
file_url="";
//创建面板
reader_panel=new JPanel();
reader_panel.setBounds(0,0,width_of_reader,height_of_reader);
reader_panel.setBackground(Color.blue);
reader_panel.setLayout(null);

//创建文本区域
reader_area=new JTextArea();
reader_area.setBounds(0,30,width_of_textArea,height_of_textArea);
reader_area.setBackground(Color.white);
reader_area.setLineWrap(true);//设置自动换行

//FileReader r=new FileReader(Openfiledialog.FileName);

//选择文件按钮
JButton jb_fileChooser=new JButton("选择文件");
jb_fileChooser.setBounds(0,0,width_of_reader,(int)(height_of_reader*0.05));
jb_fileChooser.addActionListener(new jb_fileChooser_actionAdapter(this));

//选择颜色按钮
JButton jb_colorChooser=new JButton("选择背景颜色");
jb_colorChooser.setBounds(0,(int)(height_of_reader*0.05)+height_of_textArea,width_of_reader,(int)(height_of_reader*0.05));
jb_colorChooser.addActionListener(new jb_colorChooser_actionAdapter(this));

reader_panel.add(reader_area);
reader_panel.add(jb_fileChooser);
reader_panel.add(jb_colorChooser);
//创建容器
Container c=this.getContentPane();
c.setLayout(null);
c.add(reader_panel);
this.setBounds(start_point_X,start_point_Y,width_of_reader,height_of_reader);
this.setResizable(false);
this.setVisible(true);
}
//添加文件选择按钮事件监听
void jb_fileChooser_actionAdapter(ActionEvent e){
//建立文件选择框对象
JFileChooser fc=new JFileChooser();
//设定文件选择框标题
fc.setDialogTitle("Open class File");
//显示文件选择框,在选择后将结果储存到returnVal变量中
int returnVal = fc.showOpenDialog(null);
//如果用户选择了文件,并点击了"Opne/打开"按钮,显示用户选择的文件全名路径,
//如果用户点击"Close/关闭"按钮,以及其它方式退出文件选择框,则什么也不做。
if (returnVal == JFileChooser.APPROVE_OPTION){
file_url=fc.getSelectedFile().getPath();
}
try {
FileReader fr = new FileReader(file_url);
BufferedReader br = new BufferedReader(fr,128);
String line = br.readLine();
// while(line!=null){
reader_area.append(line+"/n");
line=br.readLine();
// }
br.close();
fr.close();
} catch (FileNotFoundException ex) {
System.out.println("文件不存在");
} catch (IOException ex){
System.out.println("SQL异常");
}

}
class jb_fileChooser_actionAdapter implements ActionListener {
frame adaptee;
jb_fileChooser_actionAdapter(frame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jb_fileChooser_actionAdapter(e);
}
}
//添加颜色选择按钮事件监听
void jb_colorChooser_actionAdapter(ActionEvent e){
Color newColor=JColorChooser.showDialog(this,"字体颜色",reader_area.getForeground());
reader_area.setBackground(newColor);
}
class jb_colorChooser_actionAdapter implements ActionListener {
frame adaptee;
jb_colorChooser_actionAdapter(frame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jb_colorChooser_actionAdapter(e);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: