java 仿照windows的记事本_仿windows记事本的java程序
时间: 2023-10-21 21:30:29 浏览: 161
好的,以下是一个简单的 Java 代码,可以实现类似 Windows 记事本的功能:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Notepad extends Frame implements ActionListener {
TextArea ta;
MenuBar mb;
Menu file;
MenuItem open, save, exit;
FileDialog openDialog, saveDialog;
public static void main(String[] args) {
new Notepad();
}
public Notepad() {
setTitle("记事本");
setSize(500, 500);
setLocationRelativeTo(null);
ta = new TextArea();
add(ta);
mb = new MenuBar();
file = new Menu("文件");
open = new MenuItem("打开");
open.addActionListener(this);
file.add(open);
save = new MenuItem("保存");
save.addActionListener(this);
file.add(save);
file.addSeparator();
exit = new MenuItem("退出");
exit.addActionListener(this);
file.add(exit);
mb.add(file);
setMenuBar(mb);
openDialog = new FileDialog(this, "打开文件", FileDialog.LOAD);
saveDialog = new FileDialog(this, "保存文件", FileDialog.SAVE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == open) {
open();
} else if (e.getSource() == save) {
save();
} else if (e.getSource() == exit) {
System.exit(0);
}
}
private void open() {
openDialog.setVisible(true);
String filename = openDialog.getDirectory() + openDialog.getFile();
try {
BufferedReader br = new BufferedReader(new FileReader(filename));
String line;
ta.setText("");
while ((line = br.readLine()) != null) {
ta.append(line + "\n");
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private void save() {
saveDialog.setVisible(true);
String filename = saveDialog.getDirectory() + saveDialog.getFile();
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
bw.write(ta.getText());
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序创建了一个带有文本编辑框的窗口,以及一个菜单栏。菜单栏包括 "文件" 菜单,其中包括 "打开"、"保存" 和 "退出" 选项。用户点击打开或保存选项时,将会弹出文件对话框,用于选择文件。程序还实现了相应的打开和保存文件的方法,使用 BufferedReader 和 BufferedWriter 类读写文件。
阅读全文