用java生成一个简单文本编辑器,将生成的文本存入文件,如果有打开、存盘、关闭等菜单更佳。GUI界面可以自己灵活设计,同时实现窗体关闭退出功能。
时间: 2024-02-25 14:55:49 浏览: 126
好的,以下是一个简单的Java文本编辑器的实现示例:
```java
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
public class SimpleTextEditor extends JFrame {
private JTextArea textArea;
public SimpleTextEditor() {
setTitle("Simple Text Editor");
setSize(600, 400);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// 创建菜单栏
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建文件菜单
JMenu fileMenu = new JMenu("文件");
menuBar.add(fileMenu);
// 创建打开菜单项
JMenuItem openItem = new JMenuItem("打开");
fileMenu.add(openItem);
openItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
int result = fc.showOpenDialog(SimpleTextEditor.this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
try {
textArea.setText("");
textArea.append(FileUtils.readFile(file));
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
// 创建保存菜单项
JMenuItem saveItem = new JMenuItem("保存");
fileMenu.add(saveItem);
saveItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fc = new JFileChooser();
int result = fc.showSaveDialog(SimpleTextEditor.this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
try {
FileUtils.writeFile(textArea.getText(), file);
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
// 创建退出菜单项
JMenuItem exitItem = new JMenuItem("退出");
fileMenu.add(exitItem);
exitItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
// 创建文本区域
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
Container contentPane = getContentPane();
contentPane.add(scrollPane, BorderLayout.CENTER);
}
public static void main(String[] args) {
SimpleTextEditor editor = new SimpleTextEditor();
editor.setVisible(true);
}
}
class FileUtils {
public static void writeFile(String content, File file) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(content);
writer.close();
}
public static String readFile(File file) throws IOException {
return java.nio.file.Files.readString(file.toPath());
}
}
```
这个文本编辑器使用了Java Swing库来创建GUI界面,支持打开、保存、退出等功能。在打开和保存文件时,使用了JFileChooser类来选择文件,使用FileUtils类来读写文件。你可以根据自己的需求进行界面布局和功能扩展。
阅读全文