本文小编为大家详细介绍“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();
}
}
读到这里,这篇“Java如何实现文本编译器”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。