java简易记事本
时间: 2023-10-11 11:16:18 浏览: 91
Java简易记事本
以下是一个简单的 Java 记事本程序:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class SimpleNotepad extends JFrame implements ActionListener {
private JTextArea textArea = new JTextArea("");
public SimpleNotepad() {
JScrollPane scrollPane = new JScrollPane(textArea);
getContentPane().add(scrollPane);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu fileMenu = new JMenu("文件");
menuBar.add(fileMenu);
JMenuItem newMenuItem = new JMenuItem("新建");
newMenuItem.addActionListener(this);
fileMenu.add(newMenuItem);
JMenuItem openMenuItem = new JMenuItem("打开");
openMenuItem.addActionListener(this);
fileMenu.add(openMenuItem);
JMenuItem saveMenuItem = new JMenuItem("保存");
saveMenuItem.addActionListener(this);
fileMenu.add(saveMenuItem);
JMenuItem exitMenuItem = new JMenuItem("退出");
exitMenuItem.addActionListener(this);
fileMenu.add(exitMenuItem);
setTitle("简易记事本");
setSize(400, 300);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("新建")) {
textArea.setText("");
} else if (command.equals("打开")) {
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");
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (command.equals("保存")) {
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();
}
}
} else if (command.equals("退出")) {
System.exit(0);
}
}
public static void main(String[] args) {
new SimpleNotepad();
}
}
```
这个程序包含一个 `JTextArea` 和一个菜单栏,可以用来打开、保存和退出文件。菜单栏是通过 `JMenuBar`、`JMenu` 和 `JMenuItem` 实现的。`ActionListener` 接口用于处理菜单项的事件。
阅读全文