爱玺玺

爱玺玺的生活日记本。wx:lb87626

java 记事本程序

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileReader;

import java.io.FileWriter;


import javax.swing.ImageIcon;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;



public class NotePad extends JFrame implements ActionListener{

    JScrollPane jsp=null;

    JTextArea jta=null;

    JMenuBar jmb=null;

    JMenu jm1=null;

    JMenuItem jmi1=null;

    JMenuItem jmi2=null;

    public NotePad() {

jta=new JTextArea();

jsp=new JScrollPane(jta);

jm1=new JMenu("文件");

jm1.setMnemonic('F');//助记符。注意这里字符用单引号,字符串才用双引号

jmi1=new JMenuItem("打开", new ImageIcon("bomb_2.gif"));

jmi1.setActionCommand("open");

jmi1.addActionListener(this);

jmi2=new JMenuItem("保存");

jmi2.setActionCommand("save");

jmi2.addActionListener(this);

jmb=new JMenuBar();

jm1.add(jmi1);

jm1.add(jmi2);

jmb.add(jm1);

add(jmb,"North");

add(jsp);

setSize(400, 400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

NotePad np=new NotePad();

}

@Override

public void actionPerformed(ActionEvent arg0) {

if(arg0.getActionCommand().equals("open")){

JFileChooser jfc=new JFileChooser();

jfc.setDialogTitle("打开文件");

jfc.showOpenDialog(null);

String file=jfc.getSelectedFile().getAbsolutePath();

FileReader fr=null;

BufferedReader br=null;

try {

fr=new FileReader(file);

br=new BufferedReader(fr);

String totalstr="";

String str="";

while((str=br.readLine())!=null){//这里已经执行了次 br.readLine(),str里面不再是空

System.out.print(str+"\r\n");//逐行打印出文件字符

totalstr+=str+"\r\n";//逐行保存读取的每一行到字符串str

//str+=str+"\r\n";//不能这么写,因为条件语句里面已经执行了str=br.readLine(),条件里面每次的str是不同行的字符

}

jta.setText(totalstr);

} catch (Exception e) {

e.printStackTrace();

}finally{

try {

fr.close();

br.close();

} catch (Exception e2) {

// TODO: handle exception

}

}

jfc.setVisible(true);

System.out.println("open"+file);

}else if(arg0.getActionCommand().equals("save")){

JFileChooser jfc=new JFileChooser();

jfc.setDialogTitle("另存为");

jfc.showSaveDialog(null);

String file=jfc.getSelectedFile().getAbsolutePath();

String conStr=jta.getText();

FileWriter fw=null;

BufferedWriter bw=null;

try {

fw=new FileWriter(file);//将数据输出到磁盘文件file的对象流

bw=new BufferedWriter(fw);

bw.write(conStr);//将字符串conStr输出

bw.flush();//刷新缓存或关闭才能将缓存中的数据输出

} catch (Exception e) {

e.printStackTrace();

}finally{

try {

bw.close();

fw.close();

} catch (Exception e2) {

// TODO: handle exception

}

}

jfc.setVisible(true);

   System.out.println("save");

}

}


}


发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5