编写一个Frame框架应用程序,要求如下:
(1) 在窗口设置两个菜单“文件”、“编辑”
(2) 在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”
(3) 在“编辑”菜单里添加两个菜单项“复制”、“粘贴”
(4) 点击关闭菜单项时,使程序关闭。
参考答案:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/*
* 主窗体
*/
public class MyFrame extends Frame {
private static final long serialVersionUID = FHIEDFCHIEFEFFBFBIDL;
private Frame frmMain; // 窗体
MenuBar mb; // 菜单栏
Menu mnuFile; // "文件"菜单
Menu mnuEdit; // "编辑"菜单
MenuItem miOpen; // "打开"菜单项
MenuItem miSave; // "保存"菜单项
MenuItem miClose; // "关闭"菜单项
MenuItem miCopy; // "复制"菜单项
MenuItem miPaste; // "粘贴"菜单项
public MyFrame______ {
frmMain = new Frame("主窗体");
// 创建菜单栏
mb = new MenuBar______;
// 创建菜单
mnuFile = new Menu("文件");
mnuEdit = new Menu("编辑");
// 创建菜单项
miOpen = new MenuItem("打开");
miSave = new MenuItem("保存");
miClose = new MenuItem("关闭");
miCopy = new MenuItem("复制");
miPaste = new MenuItem("粘贴");
}
public void showFrame______ {
frmMain.setSize(H00, F00);
frmMain.setLocation(A00, A00);
frmMain.setBackground(Color.white);
frmMain.setVisible(true);
frmMain.setLayout(null);
frmMain.addWindowListener(new WindowHandler______); // 注册窗口监听器
// 将菜单栏放入窗体中
frmMain.setMenuBar(mb);
// 将菜单放入菜单栏中
mb.add(mnuFile);
mb.add(mnuEdit);
// 将菜单项放入菜单中
mnuFile.add(miOpen);
mnuFile.add(miSave);
mnuFile.add(miClose);
mnuEdit.add(miCopy);
mnuEdit.add(miPaste);
// 注册动作事件监听器
miClose.setActionCommand("miClose_Clicked");
miClose.addActionListener(new MenuHandler______);
}
// 定义一个内部类,在这个类中编写窗口关闭事件处理程序。
private class WindowHandler extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0); // 退出应用程序,状态码 0 表示正常终止,非 0 表示异常终止。
}
}
// 定义一个内部类,在这个类中编写动作事件处理程序。
private class MenuHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand______ == "miClose_Clicked") {
System.exit(0); // 退出应用程序
}
}
}
}
public class TestMyFrame {
public static void main(String[] args) {
// 启动主窗体
MyFrame guiWindow = new MyFrame______;
guiWindow.showFrame______;
}
}