• 第 7 章 图形用户界面参考答案


    一.选择题

    1.A   2.C   3.A   4.C   5.D   6.B   7.A   8.D   9 .D   10.C 11.A  12.B  13.C  14.C  15.A 16.B  17.B  18. D  19.B   20. C  21. D  

    二.填空题

    1.  父类     2.  事件源   3.  建立事件监听器     4.  Swing   5.  AWT(Abstract Window Toolkit)    6.  Dialog(对话框)     7.  布局管理器     8.   setBounds()  9.   Component 10.  Border Layout   11.  Border布局管理器    12.  GridLayout   13.  下拉列表14.  setFont()     15.  java     16.  “模型—视图—控制”    17.  非GUI   18.  根面板    19. 一个或多个    20. java.swing

    三. 简答题

    1. 结合AWT事件模型并举例来说:
    import java.awt.event.*;
    (1)监听对象必须实现对应事件监听器的接口
    class MyFirstFrame extends Frame implements ActionListener
    {...}
    (2)明确事件监听器的接口形式
    public void actionPerformed ( ActionEvent event) {…}
    (3)MyFirstFrame 类必须实现接口ActionListener中的所有方法。
    (4)注册监听对象.
    为了把MyFirstFrame对象注册为两个按钮的事件监听对象,必须在MyFirstFrame
    的构造函数中添加语句如下:
    cancelButton.addActionListener(this);
    okButton.addActionListener(this);

    2. 答:事件:对界面的某种操作,如按键. 单击鼠标. 鼠标移动等。

    事件源:事件的产生者,通常是某一组件,如按钮等。

    事件监听器:是某些事件的接口,其中定义了被监听的事件发生时系统要调用的方法。

    事件处理过程由下面3步组成:

    ①为类声明需要的事件监听器接口。

    ②给事件源注册一个事件监听器。

    ③实现接口声明中事件处理方法。

    四.程序阅读题

    1.

     

    接口名:ActionListener

    接口中的方法:public void actionPerformed(ActionEvent e)

    五.程序设计题

    1.

    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 = 6895463895656626294L;

           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(800, 600);

                  frmMain.setLocation(100, 100);

                  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();

           }

    }

  • 相关阅读:
    (滑动窗口) 76. 最小覆盖子串 ——【Leetcode每日一题】
    【leetcode】往完全二叉树添加节点
    无涯教程-JavaScript - SUMX2PY2函数
    有哪些好用的性能测试工具推荐?性能测试报告收费标准
    mysql InnoDB存储引擎的锁机制
    云帆考试系统更新说明:v6.5.0
    Redis 实现限流策略
    【Echart】Echart设置label太长隐藏:
    Kubernetes 集群管理:Kurator or Kubespray
    浏览器架构
  • 原文地址:https://blog.csdn.net/qq_40086702/article/details/125410554