1、1第 7 章 Java GUI 设计 2010-12-11一、 选择题1. 下面代码的执行结果是什么:JButton submit = new JButton(“提交“);submit.addActionListener(new ActionAdapter()/ActionListener 没有适配器。public void actionPerformed(ActionEvent arg0) System.out.println(“执行了“););A. 编译出错。 B. 运行出错。 C. 运行正常, 按下submit时输出 执行了。D. 运行正常 , 按下submit无输出。2. 下面代码的执
2、行结果是什么:JFrame f = new JFrame(“HelloAWT“);/ 存有正确的设置布局, 添加组件等代码f.addWindowListener(new WindowListener() /这里应使用 WindowAdapterpublic void windowClosing(WindowEvent arg0) System.exit(0););A. 编译出错 B. 运行出错 C. 运行正常, 按下关闭按钮时顺利结束进程 D. 运行正常 , 按下关闭按钮时无反应 ,窗口不关闭3. 下面代码的执行结果是什么:public class LoginFrame extends JFr
3、ameprivate JLabel nameLabel; private JTextField nameField;private JLabel passwdLabel;private JTextField passwdTextField;private JButton submit;private JButton reset;private JPanel row1;private JPanel row2;private JPanel row3; / 存在合理的组件初始化以及注册监听等代码class ButtonActionListener implements ActionListener2
4、public void actionPerformed(ActionEvent event) JButton b = (JButton)event.getEventSource(); if(b=reset)nameField.setText(“);passwdTextField.setText(“);elseString name = nameField.getText();String passwd = passwdTextField.getText();System.out.println(name+“t“+passwd); A. 编译出错 B. 运行出错C. 运行正常, 按下reset
5、可以充值文本内容 ,按下submit可以获取文本域内容D. 运行正常 , 但按下reset以及button皆无反应4. 下面代码的执行结果是什么:public class LoginFrame extends JFrameprivate JLabel nameLabel; private JTextField nameField;private JLabel passwdLabel;private JTextField passwdTextField;private JButton submit;private JButton reset;private JPanel row1;private
6、 JPanel row2;private JPanel row3; / 存在合理的组件初始化以及注册监听等代码static class ButtonActionListener implements ActionListenerpublic void actionPerformed(ActionEvent event) JButton b = (JButton)event.getSource(); if(b=reset)3nameField.setText(“);passwdTextField.setText(“);elseString name = nameField.getText();S
7、tring passwd = passwdTextField.getText();System.out.println(name+“t“+passwd); /而且都没有main()函数,无法运行A. 编译出错 B. 运行出错 C. 运行正常, 按下reset 可以充值文本内容 ,按下submit可以获取文本域内容D. 运行正常 , 但按下reset以及button皆无反应二、上机题(简单有趣的小游戏,有点像挖地雷游戏。有兴趣有时间【寒假是个好时机】的同学做) :1. 警察捉小偷游戏,要求如下:1) 不允许借助开发插件, 绘制一个3行2列的Button 窗口, 每一个 Button 表示为1 间
8、房间 . 总共存在 6个房间(Button)2) 小偷会隐藏在其中一间房间中( 在启动窗口时创建一个随机数 ,1到6之间)3) 给予警察3 次捉小偷的机会 , 点击Button时就会打开一个房间,如果小偷不在当前房间中,当前Button要setLabel(“ 没有小偷“);提示:1.利用 Map 取装载 Button 以及 房间号b1 1b2 2.b6 62. 让6个Button 共同注册一个相同的监听器, 在监听器中通过事件获取事件源,获取事件源后从Map 中把对应 Button 对应的数值(房间号) 获取回来, 再与xiaotou对应的变量进行比较 3. 同时当前Button 要 setEnable(false) 就是不允许再打开此房间了. 到了第3次也是捉不到小偷的话, 那么Button的label 要设置为 “糟糕,小偷跑了“. 这时所有的按钮都设置为不可按.4. 如果3 次之内捉到了小偷, 小偷所在按钮要显示“捉到小偷了“,这时所有的按钮都设置为不可按.4