java基础--一个简单的记事本

来源:互联网 发布:监控上显示无网络视频 编辑:程序博客网 时间:2024/05/17 22:04

这个程序还有很多问题,但是总的框架已经搭好,因为图形界面并不是主要的学习内容,所以这个写的挺糟糕的。

/** * 我的记事本(界面+功能) */package com.yifanjia.one;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class NotePad extends JFrame implements ActionListener {    //定义需要的组件    JTextArea jta = null;    //定义菜单条    JMenuBar jmb = null;    JMenu jm1 = null;    JMenuItem jmi1 = null;    JMenuItem jmi2 = null;    public static void main(String[] args) {        // TODO Auto-generated method stub        NotePad np = new NotePad();    }    public NotePad() {        jta = new JTextArea();        jmb = new JMenuBar();        jm1 = new JMenu("文件");        //设置助记符        jm1.setMnemonic('F');        jmi1 = new JMenuItem("打开");        //注册监听        jmi1.addActionListener(this);        jmi1.setActionCommand("open");        jmi2 = new JMenuItem("保存");        jmi2.addActionListener(this);        jmi2.setActionCommand("close");        this.add(jta);        //加入        this.setJMenuBar(jmb);        //把jm1放入jmb        jmb.add(jm1);        //把item放入Menu        jm1.add(jmi1);        jm1.add(jmi2);        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        this.setSize(400,300);        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 all = "";                while((s = br.readLine()) != null) {                    all += (s + '\n');                }                jta.setText(all);            } catch (FileNotFoundException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            } catch (IOException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            } finally {                try {                    br.close();                    fr.close();                } catch (IOException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        }        else if(e.getActionCommand().equals("close")){            //文件选择组件            JFileChooser jfc1 = new JFileChooser();            //设置名字            jfc1.setDialogTitle("另存为.....");            //使用默认方式            jfc1.showSaveDialog(null);            //显示一下            jfc1.setVisible(true);            //得到用户选择的文件绝对路径            String filename = jfc1.getSelectedFile().getAbsolutePath();            FileWriter fw = null;            BufferedWriter bw = null;            try {                fw = new FileWriter(filename);                bw = new BufferedWriter(fw);                String all = jta.getText();                bw.write(all);            } catch (FileNotFoundException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            } catch (IOException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            } finally {                try {                    bw.close();                    fw.close();                } catch (IOException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        }    }}