展开全部
我写了两个类
使用方法:把这两个类保存了,第一个类的命名为Edit.java,第二个类的命名为WindowEdit.java
然后javac Edit.java ,最后输入java Edit,这62616964757a686964616fe4b893e5b19e31333262376637样就相当于一个简单的文件编辑器
参考链接http://student.csdn.net/space.php?uid=362253&do=blog&id=36612
第一个:
public class Edit {
public static void main (String[] args){
new WindowEdit ();
}
}
第二个:
import javax.swing.* ;
import java.io.* ;
import java.awt.event.* ;
class WindowEdit {
private JFrame frame = null ; //声明窗体
private JButton open = null ; //打开按钮
private JButton save = null ; //保存按钮
private JTextField text = null ; //路径文本区
private JTextArea area = null ; //查看文本域
private JScrollPane jsp = null ; //滚动条
private boolean flag = true ; //设置标志位
public WindowEdit (){ //构造方法
frame = new JFrame ("文件编辑器"); //实例化窗体,并设置名称
open = new JButton ("打开"); //实例化按钮
save = new JButton ("保存"); //实例化按钮
text = new JTextField ("在此输入打开文件的路径名" , 50); //实例化文本区
area = new JTextArea (); //实例化文本域
jsp = new JScrollPane (area); //实例化滚动条
frame.setLayout (null); //把默认布局设为空
frame.add (open); //添加组件
frame.add (save); //添加组件
frame.add (text); //添加组件
frame.add (jsp); //添加组件
text.setBounds (10,10,390,25); //设置组件位置
open.setBounds (410, 10 , 70 , 24); //设置组件位置
jsp.setBounds (10, 45 , 480 , 380); //设置组件位置
save.setBounds (240,430,70,24); //设置组件位置
frame.addWindowListener (new WindowAdapter (){ //设置窗体监听
public void windowClosing (WindowEvent e){ //窗体监听方法
System.exit (1);
}
});
open.addActionListener (new ActionListener (){ //设置对“打开”按钮的监听
public void actionPerformed (ActionEvent arg0){
while (flag){
if (arg0.getSource () == open){ //如果按钮的事件是"open"按钮的话,则发生以下事件
String path = text.getText (); //通过文本区,取得文件路径
File file = new File (path); //实例化文件
Reader reader = null ; //用字符流读入内容,避免中文乱码
try {
reader = new FileReader (file); //实例化字符流
}catch (Exception e){
e.printStackTrace ();
}
try {
char c[] = new char[(int)file.length ()] ; //设置字符数组的长度,根据文件的长度确定,避免越界
int len = 0 ; //设置读出内容的长度
len = reader.read (c); //读入数据
reader.close (); //关闭数据流
area.append (new String (c,0,len)); //为文本域输入内容
flag = false ; //只对open按钮监听一次
}catch (Exception e){
e.printStackTrace ();
}
}
}
}
});
save.addActionListener (new ActionListener (){ //设置对“保存”按钮的监听
public void actionPerformed (ActionEvent arg1){
if (arg1.getSource () == save){ //如果按钮的事件是"save"按钮的话,则发生以下事件
Writer writer = null ; //用字符流写入内容,避免中文乱码
String path = text.getText (); //通过文本区,取得文件路径
File file = new File (path); //得到写入文件的路径
try {
writer = new FileWriter (file); //实例化字符流对象
}catch (Exception e){
e.printStackTrace ();
}
try {
String str = area.getText (); //得到文本域的字符串对象
writer.write (str); //为文件写入内容
writer.close (); //关闭数据流
}catch (Exception e){
e.printStackTrace ();
}
}
}
});
frame.setSize (500,500); //设置窗体大小
frame.setVisible (true); //设置窗体可见性
}
}
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起