java基础案例11-1简易记事本

package com.itheima;

import java.awt.*;
import javax.swing.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Main{
    private static void createAndShowGUI(){
        //容器窗口
        JFrame f = new JFrame("简易记事本");
        f.setLayout(new BorderLayout());
        f.setSize(1200, 1000);
        f.setLocation(300, 300);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //菜单
        //菜单栏
        JMenuBar menuBar = new JMenuBar();
        //菜单项
        JMenu menu = new JMenu("文件");
        menuBar.add(menu);
        //三个菜单项组件
        JMenuItem item1 = new JMenuItem("打开");
        JMenuItem item2 = new JMenuItem("保存");
        JMenuItem item3 = new JMenuItem("退出");
        menu.add(item1);
        menu.addSeparator();
        menu.add(item2);
        menu.addSeparator();
        menu.add(item3);
        f.setJMenuBar(menuBar);

        //编辑
        JTextArea inputField = new JTextArea(57, 106);
        JPanel panel = new JPanel();//面板
        panel.add(inputField);
        f.add(panel, BorderLayout.PAGE_START);

        //保存
        item2.addActionListener(e->{
            //新创一个弹框记录保存路径
            JFrame f1 = new JFrame("保存路径");
            f1.setSize(500, 200);
            f1.setLocation(500, 500);
            f1.setVisible(true);
            f1.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
            //文本进行获取
            JTextField input = new JTextField(40);
            JButton btn = new JButton("保存");
            JPanel panel1 = new JPanel();
            panel1.add(input);
            f1.add(panel1, BorderLayout.PAGE_START);
            f1.add(btn, BorderLayout.PAGE_END);
            btn.addActionListener(d->{
                try {
                    String content = input.getText();
                    FileWriter writer = new FileWriter(content);
                    writer.write(inputField.getText());
                    writer.close();
                    f1.dispose();
                }catch(IOException E)
                {
                    E.printStackTrace();
                }
            });
        });

        //打开
        //基本同上
        item1.addActionListener(ee->{
            JFrame f2 = new JFrame("打开路径");
            f2.setSize(501, 201);
            f2.setLocation(501, 501);
            f2.setVisible(true);
            f2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
            JTextField input = new JTextField(40);
            JButton btn1 = new JButton("打开");
            JPanel panel2 = new JPanel();
            panel2.add(input);
            f2.add(panel2, BorderLayout.PAGE_START);
            f2.add(btn1, BorderLayout.PAGE_END);
            btn1.addActionListener(d->{
                try {
                    String content1 = input.getText();
                    FileReader reader = new FileReader(content1);
                    BufferedReader br = new BufferedReader(reader);
                    String str;
                    while((str = br.readLine()) != null)
                        inputField.setText(str);
                    br.close();
                    f2.dispose();
                }catch(IOException E)
                {
                    E.printStackTrace();
                }
            });
        });

        //退出
        item3.addActionListener(e->System.exit(0));
    }
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(Main::createAndShowGUI);
    }
}

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值