记事本DEMO
package mynotepad;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
/**
记事本DEMOM,打开,保存,编辑功能。
*/
public class FrameDemo3 {
private Frame f;
private MenuBar bar;
private Menu fileMenu;
private MenuItem open,save,exit;
private TextArea ta;
private FileDialog openDia,saveDia;
private File file;
FrameDemo3() {
initi();
}
private void initi() {
f = new Frame("高仿记事本");
f.setBounds(200,100,650,600);
// f.setLayout(new FlowLayout());
bar = new MenuBar();
fileMenu = new Menu("文件");
open = new MenuItem("打开");
save = new MenuItem("保存");
exit = new MenuItem("退出");
ta = new TextArea();
fileMenu.add(open);
fileMenu.add(save);
fileMenu.add(exit);
bar.add(fileMenu);
f.setMenuBar(bar);
f.add(ta);
myEvent();
f.setVisible(true);
}
private void myEvent() {
f.addWindowListener(new WindowAdapter() {
public void windowClosing (WindowEvent e) {
System.exit(0);
}
});
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
openDialog();
}
});
save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 如果是没有打开的文件,那么就弹出保存对话框。
if (file == null) {
saveDia = new FileDialog(f,"要保存咯", FileDialog.SAVE);
saveDia.setVisible(true);
String fileName = saveDia.getFile();
String filePath = saveDia.getDirectory();
if (fileName == null || filePath == null) {
return;
}
file = new File(filePath, fileName);
}
try {
BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
String text = ta.getText();
bufw.write(text);
// bufw.flush();
bufw.close();
} catch(IOException e2) {
throw new RuntimeException("保存失败");
}
}
});
// control + o 快捷键打开,
// f.addKeyListener(new KeyAdapter(){
// public void KeyPressed (KeyEvent e) {
// if (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {
// System.out.println("yes!");
// openDialog();
// }
// }
// });
}
private void openDialog () {
openDia = new FileDialog(f,"要打开咯", FileDialog.LOAD);
openDia.setVisible(true);
String fileName = openDia.getFile();
String filePath = openDia.getDirectory();
if (fileName == null || filePath == null) {
return;
}
ta.setText("");
file = new File(filePath, fileName);
try {
BufferedReader bufr = new BufferedReader(new FileReader(file));
String line = null;
while ((line=bufr.readLine()) != null) {
ta.append(line + "\r\n");
}
} catch (IOException e2) {
throw new RuntimeException("读取失败");
}
}
public static void main(String[] args) {
new FrameDemo3();
}
}