Java实现文本编译器

作者:宝贝垚 时间:2022-10-21 18:33:20 

简介

简单的文本编译器,可以通过弹出对话框打开文件,进行编写并保存文件。

Java实现文本编译器

Java实现文本编译器

代码

package Code.a;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
public class Editor implements ActionListener{
    JFrame f;
    JTextArea ta;
    JScrollPane sp;
    JMenuBar menubar;
    JMenu menu;
    JMenuItem openItem,saveItem,closeItem,exitItem;
    FileReader fr;
    FileWriter fw;
    JFileChooser fc;
    File file;
    //构造界面,本类作为监听类;
    public Editor(){
        f = new JFrame("简易文本编辑器");
        ta = new JTextArea();
        sp = new JScrollPane(ta);//滚轮
        f.add(sp);
        
        menubar = new JMenuBar();//菜单栏
        menu = new JMenu("File"); 
        openItem = new JMenuItem("Open");//四个选项
        saveItem = new JMenuItem("Save");
        closeItem = new JMenuItem("Close");
        exitItem = new JMenuItem("Exit");
        menu.add(openItem);
        menu.add(saveItem);
        menu.add(closeItem);
        menu.add(exitItem);
        menubar.add(menu);
        
        f.setJMenuBar(menubar);
        f.setSize(400,300);
        f.setVisible(true);
        //四个选项事件函数;
        openItem.addActionListener(this);
        saveItem.addActionListener(this);
        closeItem.addActionListener(this);
        exitItem.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e)
    {
        //异常
        try {
            //点击打开选项时,弹出打开文件对话框;
            if(e.getActionCommand()=="Open") {
                fc = new JFileChooser();
                if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
                {
                    file = fc.getSelectedFile();
                    fr = new FileReader(file);
                    int c;
                    while((c = fr.read()) != -1)
                    {
                        ta.append(String.valueOf((char) c));
                    }
                    fr.close();
                }
            }
            //点击保存选项时,弹出保存文件对话框;
            else if(e.getActionCommand()=="Save") {
                
                String str = ta.getText();
                fc = new JFileChooser();
                if(fc.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
                {
                    file = fc.getSelectedFile();
                    fw = new FileWriter(file);
                    fw.write(str);
                    fw.close();
                }
            }
            //点击关闭选项时,清空文本框;
            else if(e.getActionCommand() == "Close") {
                ta.setText("");
            }
            //点击退出选项时,退出当前界面;
            else if(e.getActionCommand() == "Exit") {
                System.exit(0);
            }
        }
        //处理异常;
        catch(IOException exp) {
            exp.printStackTrace();
        }
    }
    public static void main(String[] args) {
        Editor e = new Editor();

    }

}

来源:https://blog.csdn.net/qq_43533435/article/details/109562114

标签:java,文本编译器
0
投稿

猜你喜欢

  • java 实现简单圣诞树的示例代码(圣诞节快乐)

    2023-03-13 13:13:37
  • c#可空类型的作用说明

    2021-12-24 18:00:49
  • 解决Java中socket使用getInputStream()阻塞问题

    2022-06-16 14:33:14
  • 基于C#实现屏幕取色器的示例详解

    2021-06-26 08:58:05
  • Android选项菜单用法实例分析

    2022-11-02 07:42:44
  • Spring @Bean注解的使用场景与案例实现

    2023-11-20 04:44:22
  • Android 静默安装实现方法

    2021-08-04 05:11:25
  • C#中事件处理的个人体会

    2023-11-02 02:14:39
  • spring-boot使用AOP统一处理日志

    2023-06-09 05:12:35
  • SpringBoot+JPA 分页查询指定列并返回指定实体方式

    2021-08-26 11:54:57
  • 一步步教你如何创建第一个C#项目

    2021-08-15 04:41:56
  • 详解Android全局异常的捕获处理

    2023-02-05 09:02:11
  • Java Spring的核心与设计思想你知道吗

    2021-08-30 11:18:03
  • JAVA实现经典扫雷游戏的示例代码

    2022-01-26 04:20:18
  • 基于JAVA文件中获取路径及WEB应用程序获取路径的方法

    2022-08-21 01:26:57
  • Android设置透明状态栏和透明导航栏

    2021-09-22 07:19:41
  • Java实现快速排序过程分析

    2023-07-27 18:40:57
  • C#定义并实现单链表实例解析

    2022-04-15 12:53:09
  • Mybatis Plus代码生成器(时间管理大师)

    2023-01-30 16:27:35
  • Java编程枚举类实战代码分享

    2023-10-16 09:36:51
  • asp之家 软件编程 m.aspxhome.com