用java图形界面设计简单实现记事本功能,能打开文件,编辑文件,保存文件。
时间: 2024-02-25 20:51:34 浏览: 182
java记事本_输入输出
可以使用Java Swing来实现图形界面,以下是一个简单实现记事本功能的代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class SimpleNotepad extends JFrame implements ActionListener {
private JTextArea textArea;
private JFileChooser fileChooser;
private File file;
public SimpleNotepad() {
super("Simple Notepad");
// 创建菜单栏
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建文件菜单
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
// 创建打开菜单项
JMenuItem openItem = new JMenuItem("Open");
openItem.addActionListener(this);
fileMenu.add(openItem);
// 创建保存菜单项
JMenuItem saveItem = new JMenuItem("Save");
saveItem.addActionListener(this);
fileMenu.add(saveItem);
// 创建退出菜单项
JMenuItem exitItem = new JMenuItem("Exit");
exitItem.addActionListener(this);
fileMenu.add(exitItem);
// 创建文本编辑区域
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
// 创建文件选择器
fileChooser = new JFileChooser();
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("Open")) {
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
textArea.setText("");
while ((line = reader.readLine()) != null) {
textArea.append(line + "\n");
}
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (command.equals("Save")) {
if (file == null) {
int result = fileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
}
}
if (file != null) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(textArea.getText());
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (command.equals("Exit")) {
System.exit(0);
}
}
public static void main(String[] args) {
SimpleNotepad notepad = new SimpleNotepad();
notepad.setSize(500, 500);
notepad.setVisible(true);
notepad.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
```
这个程序使用了JMenuBar、JMenu、JMenuItem、JFileChooser和JTextArea等Swing组件来实现记事本的功能,可以打开、编辑和保存文件。
阅读全文