记事本java代码
时间: 2023-07-03 07:23:18 浏览: 52
以下是一个简单的记事本 Java 代码示例:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Notepad extends Frame implements ActionListener {
// UI components
private TextArea ta;
private MenuBar mb;
private Menu file;
private MenuItem open, save, exit;
public Notepad() {
// Set up the UI
ta = new TextArea();
add(ta);
mb = new MenuBar();
file = new Menu("File");
open = new MenuItem("Open");
save = new MenuItem("Save");
exit = new MenuItem("Exit");
open.addActionListener(this);
save.addActionListener(this);
exit.addActionListener(this);
file.add(open);
file.add(save);
file.addSeparator();
file.add(exit);
mb.add(file);
setMenuBar(mb);
// Set up the window
setTitle("Notepad");
setSize(500, 500);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == open) {
// Handle open action
FileDialog fd = new FileDialog(this, "Open", FileDialog.LOAD);
fd.setVisible(true);
if (fd.getFile() != null) {
String fileName = fd.getDirectory() + fd.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 ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == save) {
// Handle save action
FileDialog fd = new FileDialog(this, "Save", FileDialog.SAVE);
fd.setVisible(true);
if (fd.getFile() != null) {
String fileName = fd.getDirectory() + fd.getFile();
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
bw.write(ta.getText());
bw.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == exit) {
// Handle exit action
System.exit(0);
}
}
public static void main(String[] args) {
new Notepad();
}
}
```
这个记事本程序包含一个文本区域,用于输入和显示文本,以及一个菜单栏,用于打开、保存和退出文件。它使用了 Java 的 AWT(抽象窗口工具包)来创建图形用户界面,并使用了 Java 的文件读写 API 来读写文件。