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();

    }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 教你用JAVA写文本编辑器(一)

    目录 前言 思路分析: 具体实现 总结 前言 这里用swing ,awt写的. 我们大概要做成一个电脑的记事本那样的一个编辑器.可以调整字体,字号,颜色.能够打开.保存文件,新建窗口,点击退出,还有一个关于介绍的窗口.整体看起来功能不是很多,只要一部分一部分的去完成就很好办了. 思路分析: 一.首先我们的目标模型就是电脑的记事本,打开编辑器可以看到结构: 1.标题显示在窗口的title. 2.下面一行是一个工具栏,里面有文件.编辑.格式.查看.帮助.这里我们就选文件.格式.帮助来做,大致的情况都

  • Java文本编辑器实现方法详解

    本文实例讲述了Java文本编辑器实现方法.分享给大家供大家参考,具体如下: 结构分析: 界面布局 : EditFrame main方法所在: EditText 打开功能实现:  FileReadThread 保存跟能实现:  save 实际运行效果: 附:完整代码实现 一. EditFrame 包括一个菜单Menu 底部:日期时间 代码附上: public class EditFrame extends JFrame { // TODO 自动生成的构造函数存根 boolean saveFlag

  • 教你用JAVA写文本编辑器(四)

    其实写到这里,我已经差不多断气了... 常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器(二)JAVA写文本编辑器(一) 现在我们只差最后一部分了,断气前一定要把它搞完! 再来分析一下,最后一个Menu,里面有几个按钮,不知道大家发现没有,有两个还是特别简单,一个是新建,一个是退出.新建我们再实例化一下父窗口就可以了,但是这里有bug,关闭任一子窗口父窗口都会跟着关掉.另一个是退出,直接dispose()就好了.在监听器里处理一下: 这里就不

  • 教你用JAVA写文本编辑器(二)

    目录 这是编辑器第一章 JAVA写文本编辑器(一) ,需要的同学了解一下. 这一章我们来处理一下JMenuBar里的item的事件响应,首先从最简单的item关于开始. 为什么说这个简单,因为它需要完成的功能很少,只是出来一个对话框或者窗口,然后显示一个文字. 首先,我们按照执行软件的顺序来写代码,我们点击menu,会弹出里面的子项item.然后当我们点击item的时候,会弹出新的窗口.注意:弹出item是menu自己做好的,但是当我们点击item是没有响应的,因为这里需要我们给他设置监听器来执

  • 教你用JAVA写文本编辑器(三)

    大家好,接下来的部分可能有点乱,但是并不复杂,我希望我能尽量给大家捋清楚思路. 老套路,这是我的前两篇系列,需要的同学了解一下: JAVA写文本编辑器(二) JAVA写文本编辑器(一) 下面我们要实现的是一个点击选择文本格式的窗口,这里同样是要画一个窗口,跟(二)差不多.要实现的功能呢,主要是有几个ComboBox弹出list出来,选中的属性改变下面的文本.最下面两个按钮,确定则主窗口文本改变,取消则不改变. 在这里我建议大家可以先重新开一个工程,然后一步一步的测试完成后,将代码拷回来,把mai

  • 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;     JMen

  • Java 读取文本指定的某一行内容的方法

    Java读取文本指定的某一行内容,使用的都是IO的方法,下面具体看例子: /** * @author:罗大锤 * @date: 2017年9月6日 下午2:35:43 * @version 1.0 * @method:读取文本具体某行内容 * @parameter * @since * @return */ public class OpenTextLine { public static void main(String[] args) throws IOException { long ti

  • Java计算文本MD5加密值的方法示例

    本文实例讲述了Java计算文本MD5加密值的方法.分享给大家供大家参考,具体如下: java计算文本MD5值,用于加密 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class GetMd5 { public static void main(String[] args) { String a="123"; System.out.println(getM

  • Vue 中使用富文本编译器wangEditor3的方法

    富文本编译器在vue中的使用 在开发的过程中由于某些特殊需求,被我们使用,今天我就简单讲一讲如何在vue中使用wangEditor3 首先讲一下简单的使用. 1.使用npm安装 npm install wangeditor --save 2.vue页面代码如下 <template> <section> <div id="div5"></div> <div id="div6"></div> <

  • java实现文本复制功能

    本文实例为大家分享了java实现文本复制的具体代码,供大家参考,具体内容如下 *字符流(读,写) *缓冲字符流(读,写) 文本复制功能: package cn.yunhe.io; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.R

  • C语言实现简易文本编译器

    数据结构课程设计之简易文本编译器(C语言实现) 需求分析 (1)具有图形菜单界面:显示实时年份,日期,星期及时间 (2) 查找:查找文本中的字符串,显示其出现的行数,列数及总共出现次数 替换(等长,不等长):对文本中的文本实现等长及不等长替换 插入(插串,文本块的插入):插入一行或在具体行号列号处插入文本 块移动(行块,列块移动):向下移动一行,向上移动一行, 具体行号列号处向左移动或向右移动 删除:删除一行,删除莫一行,莫列,定长的内容 (3)可正确存盘.取盘::可读取,保存文本: (4)正确

随机推荐