问题 问答题

编写一个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______;
  }
}

选择题
单项选择题