韩顺平 记事本开发 getText()

rainbow2015 发布于 2015/11/11 16:54
阅读 298
收藏 0

       以下的程序是参照韩顺平老师JAVA视频中做的记事本开发,但是保存时出问题了,当我运行看结果时,在JTextArea中输入一系列信息时,再点保存时,保存到文件中的信息发现不能换行,字全垒起来了,不知道怎么解决。感觉应该是fw=new FileWriter(file);

bw=new BufferedWriter(fw);

bw.write(this.jta.getText());

这儿出问题了,但是能力有限,菜鸟一只,不会解决,还望大神能够不吝赐教!谢谢!

package test1;
import java.io.*;
import java.awt.*;
import javax.swing.*;


import java.awt.event.*;
public class Work3 extends JFrame implements ActionListener {
    
JMenuBar jmb=null;
JMenu jm1=null;
JMenuItem jmi1=null;
JMenuItem jmi2=null;
JMenuItem jmi3=null;
JTextArea jta=null;
public static void main(String[] args) {
Work3 w=new Work3();
}
public Work3()
{
jmb=new JMenuBar();
jm1=new JMenu("文件");
jmi1=new JMenuItem("打开");
jmi1.addActionListener(this);
jmi1.setMnemonic('O');
jmi1.setActionCommand("open");
jmi2=new JMenuItem("保存");
jmi2.setMnemonic('S');
jmi2.addActionListener(this);
jmi2.setActionCommand("save");
jmi3=new JMenuItem("退出");
jmi3.addActionListener(this);
jmi3.setActionCommand("exit");
jta=new JTextArea();

jm1.add(jmi1);
jm1.add(jmi2);
jm1.add(jmi3);
jmb.add(jm1);
this.setJMenuBar(jmb);


this.add(jta);
this.setTitle("记事本界面与编程");
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("open"))
{
JFileChooser jfc1=new JFileChooser();
jfc1.setDialogTitle("请选择要打开的文件。。。");
jfc1.showOpenDialog(null);
jfc1.setVisible(true);

String filename=jfc1.getSelectedFile().getAbsolutePath();
FileReader fr=null;
BufferedReader br=null;
try {
fr=new FileReader(filename);
br=new BufferedReader(fr);
String s="";
String allCon="";
while((s=br.readLine())!=null){
allCon+=s+"\r\n";
}
jta.setText(allCon);
} catch (Exception e2) {
// TODO: handle exception
e2.printStackTrace();
}finally{
try {
br.close();
fr.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}else if(e.getActionCommand().equals("save"))
{
JFileChooser jfc2=new JFileChooser();
jfc2.setDialogTitle("将文件保存到。。。");
jfc2.setSize(400,300);
jfc2.showSaveDialog(null);
jfc2.setVisible(true);


String file=jfc2.getSelectedFile().getAbsolutePath();
FileWriter fw=null;
BufferedWriter bw=null;
try {
fw=new FileWriter(file);
bw=new BufferedWriter(fw);


bw.write(this.jta.getText().toString());
} catch (Exception e2) {
// TODO: handle exception
e2.printStackTrace();
}finally{
try {
bw.close();
fw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}

}else if(e.getActionCommand().equals("exit"))
{
System.exit(0);
}

}





   
}


加载中
返回顶部
顶部