// ************************************
// 一个简单的Java 程序
// 功能是演示一个小窗口,并具有读写文件的功能。
// @author Gaogao
// @date 2004-11-04
// ************************************
// ************************************
// 引入GUI和GUI事件处理的类,和I/O治理的类
// ************************************
import java.awt.*;
import java.awt.event.*;
import java.io.*;
// ************************************
// TestOne,一个演示菜单和按钮的Application
// 程序。
// ************************************
public class TestOne extends Frame implements ActionListener {
//继续自Frame,实现ActionListener接口
//Frame是一个窗体的框架类,Actionlistener是事件接口,实现他
//可以做事件处理。
// ************************************
// 声明变量
// ************************************
// 菜单控制
private MenuBar mb;
private Menu mFile;
private MenuItem miLoad;
private MenuItem miSave;
private MenuItem miExit;
// 按钮
private TextArea textArea;
// 磁盘治理
private File file;
// 文件名
public static final String FILENAME_STR = "Love.TXT";
// ************************************
// 构造
// ************************************
public TestOne() {
init();
putObjectsToMyFrame();
addListenersToObjects();
setTheWindow();
}
// ************************************
// 分配对象内存
// ************************************
private void init() {
mb = new MenuBar();
mFile = new Menu("File");
miLoad = new MenuItem("Load");
miSave = new MenuItem("Save");
miExit = new MenuItem("Exit");
textArea = new TextArea("");
}
// ************************************
// 装各个部件到窗口
// ************************************
private void putObjectsToMyFrame() {
setMenuBar(mb);
mb.add(mFile);
mFile.add(miLoad);
mFile.add(miSave);
mFile.add(miExit);
add(textArea);
}
// ************************************
// 设置窗口
// ************************************
private void setTheWindow() {
this.setSize(400,300);
this.show();
addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
}
);
}
// ************************************
// 设置事件监听器
// ************************************
private void addListenersToObjects() {
miLoad.addActionListener(this);//将miLoad这个菜单的事件监听放在这个窗口的实例中