------- android培训、java培训、期待与您交流! ----------
add(Menu m) 方法添加Menu对象,Menu对象用add(MenuItem mi)方法添加MenuItem(包含其子类Menu)对象。
MenuItem的添加监听器的方法是addActionListener(ActionListener l),用的ActionListener。直接覆盖它的actionPerformed(ActionEvent e)方法即可。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class MenuDemo {
private Frame f = new Frame("记事本");
private MenuBar mb = new MenuBar();
private Menu menu_file = new Menu("文件");
private Menu menu_help = new Menu("帮助");
private MenuItem mi_open = new MenuItem("打开");
private MenuItem mi_save = new MenuItem("保存");
private MenuItem mi_exit = new MenuItem("退出");
private FileDialog fd_save = new FileDialog(f, "保存", FileDialog.SAVE);
private FileDialog fd_open = new FileDialog(f, "打开", FileDialog.LOAD);
private TextArea ta = new TextArea();
private File file;
public MenuDemo() {
init();
}
public void init() {
f.setBounds(300, 200, 500, 400);
f.setMenuBar(mb);
f.add(ta);
mb.add(menu_file);
mb.add(menu_help);
menu_file.add(mi_open);
menu_file.add(mi_save);
menu_file.add(mi_exit);
event();
f.setVisible(true);
}
public void event() {
mi_open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fd_open.setVisible(true);
String dir = fd_open.getDirectory();
String name = fd_open.getFile();
try {
file = new File(dir, name);
if (file.exists()) {
ta.setText("");
BufferedReader br = new BufferedReader(new FileReader(
file));
String str = null;
while ((str = br.readLine()) != null)
ta.append(str + "\r\n");
br.close();
}
} catch (Exception ex) {
}
}
});
mi_save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (file == null) {
fd_save.setVisible(true);
String dir = fd_save.getDirectory();
String name = fd_save.getFile();
System.out.println("file=new File(dir,name);");
file = new File(dir, name);
System.out.println(dir + name);
}
try {
BufferedWriter br = new BufferedWriter(new FileWriter(file));
br.write(ta.getText());
br.close();
System.out.println("jaja");
} catch (Exception ex) {
}
}
});
mi_exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
new MenuDemo();
}
}
运行界面如下:
本文介绍使用Java AWT库创建简单记事本程序的过程。通过实例演示了如何使用MenuBar、Menu及MenuItem等组件构建基本菜单功能,并实现文件的打开、保存操作。



356

被折叠的 条评论
为什么被折叠?



