生成一个简单文本编辑器,将生成的文本存入文件,如果有打开、存盘、关闭等菜单更佳。GUI界面可以自己灵活设计,同时实现窗体关闭退出功能Java问题分析
时间: 2024-02-03 21:12:27 浏览: 47
风越批量文本提取器 _可将HTML等文件中指定内容存入数据库、HTML、文本文件.zip
这个问题可以通过使用Java的Swing GUI库来解决。Swing提供了一些组件,如JFrame、JMenuBar、JMenu、JMenuItem、JTextArea等,可以用于创建菜单、文本编辑器和保存文件。下面是一个简单的实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class SimpleTextEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JMenuBar menuBar;
private JMenu menuFile;
private JMenuItem menuItemOpen;
private JMenuItem menuItemSave;
private JMenuItem menuItemExit;
public SimpleTextEditor() {
// 设置窗口标题
setTitle("Simple Text Editor");
// 创建文本编辑区域
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
// 创建菜单栏
menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建文件菜单
menuFile = new JMenu("File");
menuBar.add(menuFile);
// 创建“打开”菜单项
menuItemOpen = new JMenuItem("Open");
menuItemOpen.addActionListener(this);
menuFile.add(menuItemOpen);
// 创建“保存”菜单项
menuItemSave = new JMenuItem("Save");
menuItemSave.addActionListener(this);
menuFile.add(menuItemSave);
// 创建“退出”菜单项
menuItemExit = new JMenuItem("Exit");
menuItemExit.addActionListener(this);
menuFile.add(menuItemExit);
// 设置窗口大小和位置
setSize(400, 300);
setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == menuItemOpen) {
// 打开文件
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
textArea.read(reader, null);
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == menuItemSave) {
// 保存文件
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
textArea.write(writer);
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == menuItemExit) {
// 退出程序
System.exit(0);
}
}
public static void main(String[] args) {
SimpleTextEditor editor = new SimpleTextEditor();
editor.setVisible(true);
editor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
```
这个程序创建了一个文本编辑区域和一个菜单栏。菜单栏包括“File”菜单,其中包含“Open”、“Save”和“Exit”菜单项。当用户单击“Open”菜单项时,会打开一个文件选择对话框,用户可以选择要打开的文件。当用户单击“Save”菜单项时,会打开一个文件保存对话框,用户可以选择要保存的文件。当用户单击“Exit”菜单项时,程序会退出。
注意,为了在窗口关闭时退出程序,需要调用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法。
阅读全文