帮我用Java写一个简易记事本程序,要有打开和保存功能
时间: 2024-03-11 10:48:52 浏览: 83
以下是一个简单的Java记事本程序,具有打开和保存功能。您可以根据自己的需要进行修改和扩展:
```
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class SimpleNotepad extends JFrame {
private JTextArea textArea;
private JMenuBar menuBar;
private JMenuItem openMenuItem;
private JMenuItem saveMenuItem;
public SimpleNotepad() {
// 创建文本区域
textArea = new JTextArea();
// 创建菜单栏
menuBar = new JMenuBar();
// 创建菜单项
openMenuItem = new JMenuItem("打开");
saveMenuItem = new JMenuItem("保存");
// 添加菜单项到菜单栏
menuBar.add(openMenuItem);
menuBar.add(saveMenuItem);
// 添加菜单栏到窗口
setJMenuBar(menuBar);
// 添加文本区域到窗口
add(textArea);
// 设置窗口属性
setTitle("简易记事本");
setSize(500, 500);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 添加事件处理程序
openMenuItem.addActionListener(e -> openFile());
saveMenuItem.addActionListener(e -> saveFile());
}
private void openFile() {
// 创建文件选择器
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));
String line;
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
// 在文本区域中显示文件内容
textArea.setText(sb.toString());
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "无法打开文件", "错误", JOptionPane.ERROR_MESSAGE);
}
}
}
private void saveFile() {
// 创建文件选择器
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));
writer.write(textArea.getText());
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "无法保存文件", "错误", JOptionPane.ERROR_MESSAGE);
}
}
}
public static void main(String[] args) {
SimpleNotepad notepad = new SimpleNotepad();
notepad.setVisible(true);
}
}
```
该程序使用Swing库创建了一个包含文本区域和菜单栏的窗口,菜单栏包含“打开”和“保存”菜单项。单击“打开”菜单项会打开文件选择器,允许用户选择要打开的文件。单击“保存”菜单项会打开文件选择器,允许用户选择要保存的位置,并将文本区域中的内容保存到文件中。
阅读全文