Java实现文本编译器
更新时间:2022年04月25日 15:38:34 作者:宝贝垚
这篇文章主要为大家详细介绍了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();
}
}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
详解spring-boot下如何满足多生产环境中个性化定制功能
这篇文章主要介绍了详解spring-boot下如何满足多生产环境中个性化定制功能,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-03-03
Java File类的简单使用教程(创建、删除、遍历与判断是否存在等)
这篇文章主要给大家介绍了关于Java File类的简单使用(创建、删除、遍历与判断是否存在等)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
Mybatis MappedStatement类核心原理详解
这篇文章主要介绍了Mybatis MappedStatement类,mybatis的mapper文件最终会被解析器,解析成MappedStatement,其中insert|update|delete|select每一个标签分别对应一个MappedStatement2022-11-11
Java的Hibernate框架中集合类数据结构的映射编写教程
Hibernate可以将Java中几个内置的集合结构映射为数据库使用的关系模型,下面我们就来看一下Java的Hibernate框架中集合类数据结构的映射编写教程:2016-07-07


最新评论