A simple text compiler that can open files through pop-up dialog boxes, write and save files.
Code
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(); } }
The above is the detailed content of How to implement text editor in Java language. For more information, please follow other related articles on the PHP Chinese website!