用Java gui写一个简易的记事本
时间: 2023-06-26 11:05:07 浏览: 125
好的,以下是一个简易的记事本的Java GUI实现:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class SimpleNotepad extends JFrame implements ActionListener {
private JTextArea textArea = new JTextArea();
public SimpleNotepad() {
// 设置窗口标题
setTitle("Simple Notepad");
// 设置窗口大小
setSize(500, 400);
// 设置窗口默认关闭操作
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加菜单栏
setJMenuBar(createMenuBar());
// 添加文本编辑区域
add(new JScrollPane(textArea));
// 显示窗口
setVisible(true);
}
// 创建菜单栏
private JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();
// 文件菜单
JMenu fileMenu = new JMenu("File");
JMenuItem newMenuItem = new JMenuItem("New");
newMenuItem.addActionListener(this);
JMenuItem openMenuItem = new JMenuItem("Open");
openMenuItem.addActionListener(this);
JMenuItem saveMenuItem = new JMenuItem("Save");
saveMenuItem.addActionListener(this);
JMenuItem exitMenuItem = new JMenuItem("Exit");
exitMenuItem.addActionListener(this);
fileMenu.add(newMenuItem);
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.addSeparator();
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
return menuBar;
}
// 处理菜单点击事件
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("New")) {
// 新建文件
textArea.setText("");
} else if (command.equals("Open")) {
// 打开文件
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;
while ((line = reader.readLine()) != null) {
textArea.append(line + "\n");
}
reader.close();
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "Error reading file", "Error", JOptionPane.ERROR_MESSAGE);
}
}
} else if (command.equals("Save")) {
// 保存文件
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) {
JOptionPane.showMessageDialog(this, "Error writing file", "Error", JOptionPane.ERROR_MESSAGE);
}
}
} else if (command.equals("Exit")) {
// 退出应用程序
System.exit(0);
}
}
public static void main(String[] args) {
new SimpleNotepad();
}
}
```
这个记事本具有基本的文件菜单,可以新建、打开、保存和退出文件。你可以根据你的需求进行修改和扩展。
阅读全文