您的位置:首页 > 编程语言 > Java开发

自己写的JAVA记事本(很简单,对初学者有帮助)

2008-03-02 21:29 399 查看

package shengang.book;




import java.awt.*;


import javax.swing.*;




import java.awt.event.*;


import java.io.*;




import javax.swing.event.*;


import java.util.*; //Date needed






public class NoteBook extends JFrame ...{


    JTextArea area = new JTextArea();




    static JFrame frame;




    File file = null;




    JFileChooser filechooser = new JFileChooser();






    class xinjian implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            area.setText("");


        }


    }






    class dakai implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            if (file != null)


                filechooser.setSelectedFile(file);


            int returnVal = filechooser.showOpenDialog(NoteBook.this);




            if (returnVal == JFileChooser.APPROVE_OPTION) ...{




                file = filechooser.getSelectedFile();


                openFile();


            }


        }


    }






    class baocun implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            if (file != null)


                filechooser.setSelectedFile(file);


            int returnVal = filechooser.showSaveDialog(NoteBook.this);




            if (returnVal == JFileChooser.APPROVE_OPTION) ...{


                file = filechooser.getSelectedFile();


                saveFile();


            }


        }


    }






    class close implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            System.exit(0);//退出


        }


    }






    class kaobei implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            area.copy();


        }


    }






    class niantie implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            area.paste();


        }


    }






    class jianqie implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            area.cut();


        }


    }






    class adddate implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            Date d = new Date();


            area.append(d.toString());


        }


    }






    class About implements ActionListener ...{




        public void actionPerformed(ActionEvent e) ...{


            JOptionPane.showMessageDialog(null, "制作人:沈刚  QQ:289972365",


                    "关于本软件", JOptionPane.INFORMATION_MESSAGE);


        }


    }






    void openFile() ...{




        try ...{


            FileReader fr = new FileReader(file);


            int len = (int) file.length();


            char[] buffer = new char[len];


            fr.read(buffer, 0, len);


            fr.close();


            area.setText(new String(buffer));




        } catch (Exception e) ...{


            e.printStackTrace();


        }




    }






    void saveFile() ...{




        try ...{


            FileWriter fw = new FileWriter(file);


            fw.write(area.getText());


            fw.close();




        } catch (Exception e) ...{


            e.printStackTrace();


        }




    }






    public NoteBook() ...{




        area = new JTextArea("", 640, 480);


        JScrollPane jsp = new JScrollPane(area);


        JMenuBar jmb = new JMenuBar();


        JMenu mFile = new JMenu("文件");


        JMenu mEdit = new JMenu("编辑");


        JMenu mHelp = new JMenu("关于");




        JMenuItem mNew = new JMenuItem("新建", KeyEvent.VK_N);


        mNew.addActionListener(new xinjian());


        mFile.add(mNew);




        JMenuItem mOpen = new JMenuItem("打开", KeyEvent.VK_O);


        mOpen.addActionListener(new dakai());


        mFile.add(mOpen);




        JMenuItem mSave = new JMenuItem("保存");


        mSave.addActionListener(new baocun());


        mFile.add(mSave);




        mFile.addSeparator(); //添加分割线




        JMenuItem mExit = new JMenuItem("退出");


        mExit.addActionListener(new close());


        mFile.add(mExit);


        mFile.setMnemonic(KeyEvent.VK_F);




        //编辑菜单的子菜单的处理


        JMenuItem jmi;


        jmi = new JMenuItem("拷贝");


        jmi.addActionListener(new kaobei());


        mEdit.add(jmi);




        jmi = new JMenuItem("剪切");


        jmi.addActionListener(new jianqie());


        mEdit.add(jmi);




        jmi = new JMenuItem("粘贴");


        jmi.addActionListener(new niantie());


        mEdit.add(jmi);




        mEdit.addSeparator(); //添加分割线




        jmi = new JMenuItem("插入当前日期");


        jmi.addActionListener(new adddate());


        mEdit.add(jmi);


        jmi = new JMenuItem("关于本软件");


        jmi.addActionListener(new About());


        mHelp.add(jmi);


        jmb.add(mFile);


        jmb.add(mEdit);


        jmb.add(mHelp);




        this.setJMenuBar(jmb);


        this.setTitle("刚刚记事本1.0");


        this.getContentPane().add(jsp);


        this.setSize(640, 480);


        this.setVisible(true);


    }




    //主函数,程序入口点




    public static void main(String s[]) ...{




        new NoteBook();


    }


}



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息