用java语言写一个文本编辑器
时间: 2023-12-29 21:18:56 浏览: 72
用JAVA写的文本编辑器
好的,我可以给你提供一个简单的Java文本编辑器的代码示例,你可以根据自己的需要进行修改和完善。代码如下:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class TextEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JFileChooser fileChooser;
public TextEditor() {
super("Java文本编辑器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu = new JMenu("文件");
menuBar.add(fileMenu);
JMenuItem openItem = new JMenuItem("打开");
openItem.addActionListener(this);
fileMenu.add(openItem);
JMenuItem saveItem = new JMenuItem("保存");
saveItem.addActionListener(this);
fileMenu.add(saveItem);
fileChooser = new JFileChooser();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("打开")) {
int returnVal = fileChooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
textArea.append(line + "\n");
}
reader.close();
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "读取文件出错:" + ex.getMessage());
}
}
} else if (e.getActionCommand().equals("保存")) {
int returnVal = fileChooser.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(textArea.getText());
writer.close();
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "保存文件出错:" + ex.getMessage());
}
}
}
}
public static void main(String[] args) {
TextEditor editor = new TextEditor();
editor.setVisible(true);
}
}
```
这个文本编辑器基于Java Swing框架实现,可以打开和保存文本文件,代码比较简单易懂。
阅读全文