简易的记事本程序

Posted 北方丶有佳人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简易的记事本程序相关的知识,希望对你有一定的参考价值。

利用GUI和IO流做的简易的记事本程序

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

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;
import javax.swing.filechooser.FileNameExtensionFilter;

public class BarDemo extends JFrame {

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    BarDemo frame = new BarDemo();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public BarDemo() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        
        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        
        JMenu menu = new JMenu("\u6587\u4EF6");
        menuBar.add(menu);
        
        JScrollPane scrollPane = new JScrollPane();
        getContentPane().add(scrollPane, BorderLayout.CENTER);
        
        JTextArea textArea = new JTextArea();
        scrollPane.setViewportView(textArea);
        
        JMenuItem menuItem = new JMenuItem("\u6253\u5F00");
        menuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                
                //1.创建一个文件选择器
                JFileChooser chooser = new JFileChooser();
                
                //2.创建一个文件扩展名过滤器
                FileNameExtensionFilter filter = null;
                filter = new FileNameExtensionFilter("Java & Txt","java","txt" );
                
                //3.给文件选择器设置过滤器
                chooser.setFileFilter(filter);
                
                //文件选择器调用了显示选择文件对话框。并获取该对话框的返回值
                int returnVul = chooser.showOpenDialog(getContentPane());
                //判断返回值
                if(returnVul== JFileChooser.APPROVE_OPTION){
                    
                    //清空
                    textArea.setText("");
                    
                    //获取选择的目录
                    String str = chooser.getSelectedFile().getAbsolutePath();
//                    System.out.println(str);
                    
                    //读取文件
                    try {
                        BufferedReader bufr = new BufferedReader(new FileReader(str));
                        String line = null;
                        while((line=bufr.readLine())!=null){
                            textArea.append(line+System.getProperty("line.separator"));
                        }
                        
                    } catch (FileNotFoundException e1) {
                        e1.printStackTrace();
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                    
                    
                    
                    
                }
                
            }
        });
        menu.add(menuItem);
        
        JMenuItem menuItem_1 = new JMenuItem("\u9000\u51FA");
        menuItem_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        menu.add(menuItem_1);
        
        
    }

}

 

以上是关于简易的记事本程序的主要内容,如果未能解决你的问题,请参考以下文章

python做简易记事本

Java文件(io)编程——简易记事本开发

Vue 实现简易记事本

Vue 实现简易记事本

c#创建简易记事本 状态栏显示当前系统时间

文件输出到记事本 .txt