用java写记事本
时间: 2023-12-30 21:06:40 浏览: 78
好的,下面是简单的Java代码实现一个记事本:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MyNotepad extends Frame implements ActionListener {
TextArea textArea;
MenuBar menuBar;
Menu fileMenu;
MenuItem newMenuItem, openMenuItem, saveMenuItem, exitMenuItem;
public MyNotepad() {
super("My Notepad");
// 设置窗口大小和位置
setSize(600, 400);
setLocation(200, 200);
// 添加菜单栏
menuBar = new MenuBar();
fileMenu = new Menu("File");
newMenuItem = new MenuItem("New");
openMenuItem = new MenuItem("Open");
saveMenuItem = new MenuItem("Save");
exitMenuItem = new MenuItem("Exit");
newMenuItem.addActionListener(this);
openMenuItem.addActionListener(this);
saveMenuItem.addActionListener(this);
exitMenuItem.addActionListener(this);
fileMenu.add(newMenuItem);
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.addSeparator();
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
setMenuBar(menuBar);
// 添加文本区域
textArea = new TextArea();
add(textArea);
// 添加窗口关闭事件
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == newMenuItem) {
textArea.setText("");
} else if (e.getSource() == openMenuItem) {
FileDialog fileDialog = new FileDialog(this, "Open File", FileDialog.LOAD);
fileDialog.setVisible(true);
String filename = fileDialog.getFile();
if (filename != null) {
try {
FileReader fileReader = new FileReader(fileDialog.getDirectory() + filename);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
textArea.setText("");
while ((line = bufferedReader.readLine()) != null) {
textArea.append(line + "\n");
}
bufferedReader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == saveMenuItem) {
FileDialog fileDialog = new FileDialog(this, "Save File", FileDialog.SAVE);
fileDialog.setVisible(true);
String filename = fileDialog.getFile();
if (filename != null) {
try {
FileWriter fileWriter = new FileWriter(fileDialog.getDirectory() + filename);
fileWriter.write(textArea.getText());
fileWriter.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == exitMenuItem) {
dispose();
}
}
public static void main(String[] args) {
MyNotepad myNotepad = new MyNotepad();
myNotepad.setVisible(true);
}
}
```
这段代码实现了一个简单的记事本,包括菜单栏和文本区域。菜单栏有四个选项:新建、打开、保存和退出。当用户点击菜单选项时,会触发相应的事件处理方法。在打开和保存文件时,使用了Java IO类库中的FileReader和FileWriter进行文件读写操作。
阅读全文