Java简易记事本开发 Java文件(io)编程之记事本开发详解
嗯哼 人气:0想了解Java文件(io)编程之记事本开发详解的相关内容吗,嗯哼在本文为您仔细讲解Java简易记事本开发的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java,记事本,下面大家一起来学习吧。
public class NotePad extends JFrame implements ActionListener{ //定义需要的组件 JTextArea jta=null; //多行文本框 JMenuBar jmb=null; //菜单条 JMenu jm1=null; //菜单 JMenuItem jmi1=null,jmi2=null; //菜单项 public static void main(String[] args) { NotePad np=new NotePad(); } public NotePad(){ //构造函数 jta=new JTextArea(); //创建jta jmb=new JMenuBar(); jm1=new JMenu("文件"); jm1.setMnemonic('F'); //设置助记符 jmi1=new JMenuItem("打开",new ImageIcon("imag_3.jpg")); jmi1.addActionListener(this); //注册监听 jmi1.setActionCommand("open"); jmi2=new JMenuItem("保存"); jmi2.addActionListener(this); jmi2.setActionCommand("save"); this.setJMenuBar(jmb); //加入 jmb.add(jm1); //把菜单放入菜单条 jm1.add(jmi1); //把item放入到Menu中 jm1.add(jmi2); this.add(jta); //放入到JFrame this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(400,300); this.setTitle("记事本"); this.setIconImage((new ImageIcon("imag_2.jpg")).getImage()); this.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { //判断是哪个菜单被选中 if(arg0.getActionCommand().equals("open")){ //JFileChooser,创建一个文件选择组件 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); //从文件中读取信息并显示到jta String s=""; String allCon=""; while((s=br.readLine())!=null){ //循环读取文件,s不为空即还未读完毕 allCon+=s+"\r\n"; } jta.setText(allCon); //放置到jta } catch (Exception e) { e.printStackTrace(); }finally{ try { fr.close(); br.close(); } catch (Exception e) { e.printStackTrace(); } } }else if(arg0.getActionCommand().equals("save")){ //出现保存对话框 JFileChooser jfc2=new JFileChooser(); jfc2.setDialogTitle("另存为……"); jfc2.showSaveDialog(null); //按默认的方式显示 jfc2.setVisible(true); //得到用户希望把文件保存到何处,文件全路径 String filename2=jfc2.getSelectedFile().getAbsolutePath(); //准备写入到指定文件 FileWriter fw=null; BufferedWriter bw=null; try { fw=new FileWriter(filename2); bw=new BufferedWriter(fw); bw.write(this.jta.getText()); } catch (Exception e) { e.printStackTrace(); }finally{ try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
运行效果如下
点击文件按钮,点击打开菜单项,选择一个文本文件,效果如下:
打开后,内容显示如下:
对内容稍作修改,另存为名为sss的文件,效果如下:
加载全部内容