zoukankan      html  css  js  c++  java
  • JAVA记事本的图形用户界面应用程序

    JAVA记事本的图形用户界面应用程序

    整体分析:

    代码实现:

    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    import javax.swing.JFrame;
    import javax.swing.JMenuBar;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JSeparator;
    import javax.swing.JTextArea;
    import java.awt.BorderLayout;
    import java.awt.Font;
    
    /**记事本的图形用户界面应用程序
     * @author 李祖林
     * 2017-6-22
     */
    public class Note1 implements ActionListener{
    
        private JFrame frame;
        JMenuItem New, Open, Save, Close; /*
                                             * New为新建,
                                             * Open为打开 
                                             * Save为保存 
                                             * Close为关闭
                                             */
        JTextArea textArea;
        File fileName = new File("D:\file.txt");    //默认打开文件路径
        
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Note1 window = new Note1();
                        window.frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        public Note1() {
        
            frame = new JFrame();
            frame.setFont(new Font("Dialog", Font.BOLD, 18));
            frame.setBounds(100, 100, 629, 412);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            JMenuBar menuBar = new JMenuBar();
            frame.setJMenuBar(menuBar);
            
            JMenu menu = new JMenu("u6587u4EF6");
            menu.setFont(new Font("黑体", Font.BOLD, 18));
            menuBar.add(menu);
            
            New = new JMenuItem("u65B0u5EFA");
            New.setFont(new Font("黑体", Font.BOLD, 18));
            menu.add(New);New.addActionListener(this);
            
            Open = new JMenuItem("u6253u5F00");
            Open.setFont(new Font("黑体", Font.BOLD, 18));
            menu.add(Open);Open.addActionListener(this);
            
            Save = new JMenuItem("u4FDDu5B58");
            Save.setFont(new Font("黑体", Font.BOLD, 18));
            menu.add(Save);Save.addActionListener(this);
            
            JSeparator separator = new JSeparator();
            menu.add(separator);
            
            Close = new JMenuItem("u5173u95ED");
            Close.setFont(new Font("黑体", Font.BOLD, 18));
            menu.add(Close);Close.addActionListener(this);
            
            JMenu menu_1 = new JMenu("u7F16u8F91");
            menu_1.setFont(new Font("黑体", Font.BOLD, 18));
            menuBar.add(menu_1);
            
            JMenuItem menuItem_4 = new JMenuItem("u590Du5236");
            menu_1.add(menuItem_4);
            
            JMenuItem menuItem_5 = new JMenuItem("u7C98u8D34");
            menu_1.add(menuItem_5);
            
            JMenuItem menuItem_6 = new JMenuItem("u526Au5207");
            menu_1.add(menuItem_6);
            
            textArea = new JTextArea();
            frame.getContentPane().add(textArea, BorderLayout.CENTER);
        }
    
        public void actionPerformed(ActionEvent e) {
            if(e.getSource()==Close){
                System.exit(0);
            }
            else if (e.getSource()==Save) {
                saveFile();
            }else if (e.getSource()==Open){
                readFile();
            }else{
                textArea.setText("");
            }
            
            
        }
        /*打开文件函数*/
        public void readFile(){
            try{
                BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));    //缓存字符流
                StringBuffer buffer = new StringBuffer();                    
                String text;
                while((text = bufferedReader.readLine()) != null){
    //                buffer.append(text+"
    ");
                    textArea.append(text+"
    ");
                }
    //            textArea.setText(buffer.toString());
                bufferedReader.close();
            }catch (IOException e) {
                System.err.println("读入文件发生错误!");
            }
        }
        /*保存文件函数*/
        public void saveFile(){
            try{
                BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName));
                String string = textArea.getText();
                bufferedWriter.write(string);
                bufferedWriter.close();
            }catch (IOException e) {
                System.err.println("保存文件发生错误!");
            }
        }
        
    }

    实验结果:

  • 相关阅读:
    Deepin 安装成功后开机进入系统黑屏
    Widows 关闭 Defender的方法
    yapi
    spring boot集成minio,最新版
    Minio第一课:走进 Minio
    Docker与IPtables
    解决:required a single bean, but 2 were found:
    Python之Beautiful Soup 4使用实例
    mysql -5.7.31 修改root密码
    mybatis/tk mybatis下实体字段是关键字/保留字,执行报错
  • 原文地址:https://www.cnblogs.com/jdemarryme/p/7066511.html
Copyright © 2011-2022 走看看