返回顶部

收藏

简易的记事本

更多
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

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 Notebook extends JFrame{
    JTextArea jta=null;
    JScrollPane jsp=null;
    JMenuBar jbr=null;
    JMenu jm1,jm2;
    JMenuItem jmi2,jmi3,jmi4;
    public static void main(String[] args) {
        Notebook nb=new Notebook();
    }

    public Notebook()
    {
        jta=new JTextArea();
        jsp=new JScrollPane(jta);

        jmi2=new JMenuItem("打开");
        jmi2.setActionCommand("打开");
        jmi2.addActionListener(new Mylistener());

        jmi3=new JMenuItem("保存");
        jmi3.setActionCommand("保存");
        jmi3.addActionListener(new Mylistener());

        jmi4=new JMenuItem("查看帮助");
        jmi4.setActionCommand("查看帮助");
        jmi4.addActionListener(new Mylistener());

        jm1=new JMenu("选项");
        jm1.add(jmi2);
        jm1.add(jmi3);
        jm2=new JMenu("帮助");
        jm2.add(jmi4);
        jbr=new JMenuBar();
        jbr.add(jm1);
        jbr.add(jm2);
        this.add(jsp);
        this.add(jbr,BorderLayout.NORTH);
        this.setTitle("记事本");
        this.setSize(600,500);
        this.setLocation(200,200);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    class Mylistener implements ActionListener
    {
        InputStreamReader isr=null;
        BufferedReader bfd=null;
        BufferedWriter bfw=null;
        JFileChooser jfc=null;
        FileReader fd=null;
        File creatfile=null;
        FileWriter fw=null;

        public void actionPerformed(ActionEvent arg0) {

                if(arg0.getActionCommand().equals("打开")){
                jfc=new JFileChooser();
                jfc.setDialogTitle("请选择要打开的文件");
                jfc.showOpenDialog(null);
                jfc.setVisible(true);
                String filename=jfc.getSelectedFile().getAbsolutePath();

                try {
                    fd=new FileReader(filename);
                    bfd=new BufferedReader(fd);

                    String s="",allstring="";
                    while((s=bfd.readLine())!=null){
                        allstring+=s+"\\n";
                    }
                    jta.setText(allstring);
                } catch (Exception e) {
                    e.printStackTrace();
                }finally{
                    try {
                        fd.close();
                        bfd.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                }
            }else if(arg0.getActionCommand().equals("保存")){
                //很重要的一个组件JFileChooser
                jfc=new JFileChooser();
                jfc.setDialogTitle("请选择要保存的路径");
                jfc.showSaveDialog(null);
                jfc.setVisible(true);
                String savepath=jfc.getSelectedFile().getAbsolutePath();

                try {
                    fw=new FileWriter(savepath);
                    bfw=new BufferedWriter(fw);

                    String newfile=jta.getText();
                    bfw.write(newfile);

                } catch (Exception e) {
                    e.printStackTrace();
                }finally{
                    try {
                        bfw.close();
                        fw.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }

            }       }

    }
}
//该片段来自于http://outofmemory.cn

标签:java,图形

收藏

0人收藏

支持

0

反对

0

»更多 您可能感兴趣的代码
  1. 2012-11-05 21:59:42java获得随机数代码 by 怪兽狂殴奥特曼
  2. 2014-07-21 13:20:33Java swing做的一个注册页面 by sdcool
  3. 2014-08-30 13:33:15java胰岛素泵 by liuyan814
  4. 2014-10-14 12:30:29破解验证码 by 落叶随风
  5. 2014-10-30 11:46:37图片转base64 by 香格里拉登
  6. 2014-11-12 12:24:05服务器端图片多中尺寸的生成 by Hugh
  7. 2014-06-01 21:04:37Java图片识别技术原理 by clt
  8. 2014-06-25 14:10:03给网站上传的图片盖章 by 云香水识
  9. 2014-05-30 20:36:52Adobe AIR嵌入启动Tomcat by Koon.LY
  10. 2014-11-18 13:05:13Java 绘制环形的文字 (Circle Text Demo) by Koon.LY
  11. 2014-12-07 10:44:14java3d sphere 球 by clt
相关聚客文章
  1. 博主 发表 2009-10-03 04:00:00 艰难的开垦java图形
  2. 周亮 发表 2011-07-25 13:16:16 Eclipse RCP 中 Part 和 Site、菜单和工具栏
  3. 博主 发表 2015-12-29 14:26:50 netty-mina深入学习与对比(二)
  4. 周亮 发表 2012-06-28 16:49:12 用EasyMock进行单元测试:什么是EasyMock
  5. 博主 发表 2016-03-21 14:52:08 Java 内存之 Java 堆
  6. 夕水溪下 发表 2013-02-20 01:05:59 双核和双CPU的区别
  7. 暗影 发表 2016-03-30 11:40:12 JAVA double 类型比较大小
  8. 朴人博客 发表 2013-03-19 14:23:26 初识Apache Velocity(Java模板引擎)
  9. 博主 发表 2016-04-03 10:20:02 Spring AOP 问与答
  10. learnhard 发表 2013-04-10 03:12:44 [原创]Java基础知识记录(2)
  11. 博主 发表 2016-02-21 03:43:33 Using Maven(2): pom.xml
  12. 夕水溪下 发表 2013-04-27 03:48:38 使用VisualVM的RMI方式远程监控JVM

发表评论