记事本DEMO

来源:互联网 发布:python做时间序列分析 编辑:程序博客网 时间:2024/06/06 02:07

记事本DEMO

package mynotepad;        import java.awt.*;        import java.awt.event.*;        import java.io.*;        /**        记事本DEMOM,打开,保存,编辑功能。            */        public class FrameDemo3 {            private Frame f;            private MenuBar bar;            private Menu fileMenu;            private MenuItem open,save,exit;            private TextArea ta;            private FileDialog openDia,saveDia;            private File file;            FrameDemo3() {                initi();            }            private void initi() {                f = new Frame("高仿记事本");                f.setBounds(200,100,650,600);        //      f.setLayout(new FlowLayout());                bar = new MenuBar();                fileMenu = new Menu("文件");                open = new MenuItem("打开");                save = new MenuItem("保存");                exit = new MenuItem("退出");                ta = new TextArea();                fileMenu.add(open);                fileMenu.add(save);                fileMenu.add(exit);                bar.add(fileMenu);                f.setMenuBar(bar);                f.add(ta);                myEvent();                f.setVisible(true);            }            private void myEvent() {                f.addWindowListener(new WindowAdapter() {                    public void windowClosing (WindowEvent e) {                        System.exit(0);                    }                });                exit.addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent e) {                        System.exit(0);                    }                });                open.addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent e) {                        openDialog();                    }                });                save.addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent e) {                        // 如果是没有打开的文件,那么就弹出保存对话框。                        if (file == null) {                            saveDia = new FileDialog(f,"要保存咯", FileDialog.SAVE);                            saveDia.setVisible(true);                            String fileName = saveDia.getFile();                            String filePath = saveDia.getDirectory();                            if (fileName == null || filePath == null) {                                return;                            }                            file = new File(filePath, fileName);                        }                        try {                                BufferedWriter bufw = new BufferedWriter(new FileWriter(file));                                String text = ta.getText();                                bufw.write(text);                                // bufw.flush();                                bufw.close();                            } catch(IOException e2) {                                    throw new RuntimeException("保存失败");                            }                    }                });                // control + o 快捷键打开,                // f.addKeyListener(new KeyAdapter(){                //  public void KeyPressed (KeyEvent e) {                //      if (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {                //          System.out.println("yes!");                //          openDialog();                //      }                //  }                // });            }            private void openDialog () {                openDia = new FileDialog(f,"要打开咯", FileDialog.LOAD);                openDia.setVisible(true);                String fileName = openDia.getFile();                String filePath = openDia.getDirectory();                if (fileName == null || filePath == null) {                    return;                }                ta.setText("");                file = new File(filePath, fileName);                try {                  BufferedReader bufr = new BufferedReader(new FileReader(file));                    String line = null;                    while ((line=bufr.readLine()) != null) {                        ta.append(line + "\r\n");                    }                } catch (IOException e2) {                        throw new RuntimeException("读取失败");                }                       }            public static void main(String[] args) {                new FrameDemo3();            }        }
原创粉丝点击