第7章
一、选择题
1.下列说法中错误的一项是( )。
A.组件是一个可视化的能与用户在屏幕上交互的对象
B.组件能够独立显示出来
C.组件必须放在某个容器中才能正确显示
D.一个按钮可以是一个组件
2.进行Java基本GUI设计需要用到的包是( )。
A.java.io B.java.sql C.java.awt D.i
3.Container是下列哪一个类的子类( )?
A.Graphics B.Window C.Applet D.Component
4.java.awt.Frame的父类是( )。
A.java.util.Window B.java.awt Window
C.java.awt Panel D.java.awt.ScrollPane
5.下列哪个方法可以将MenuBar加入Frame中( )?
A.setMenu() B.addMenuBar() C.add() D.setMenuBar()
6.下列叙述中,错误的一项是( )。
A.采用GridLayout布局,容器中的每个组件平均分配容器空间
B.采用GridLayout布局,容器中的每个组件形成一个网络状的布局
C.采用GridLayout布局,容器中的组件按照从左到右、从上到下的顺序排列
D.采用GridLayout布局,容器大小改变时,每个组件不再平均分配容器空间
7.当单击鼠标或拖动鼠标时,触发的事件是( )。
A.KeyEvent B.ActionEvent C.ItemEvent D.MouseEvent
8.下列哪一项不属于Swing的顶层组件( )?
A.JApplet B.JDialog C.JTree D.Jframe
9.下列说法中错误的一项是( )。
A.在实际编程中,一般使用的是Component类的子类
B.在实际编程中,一般使用的是Container类的子类
C.Container类是Component类的子类
D.容器中可以放置组件,但是不能够放置容器
10.下列哪一项不属于AWT布局管理器( )?
A.GridLayout B.CardLayout C.BorderLayout D.BoxLayout
11.下列说法中错误的一项是( )。
A.MouseAdapter是鼠标运动适配器 B.WindowAdapter是窗口适配器
C.ContainerAdapter是容器适配器 D.KeyAdapter是键盘适配器
12.布局管理器可以管理组件的哪个属性( )?
A.大小 B.颜 C.名称 D.字体
13.编写AWT图形用户界面的时候,一定要import的语句是( )。
A.import java.awt; B.import java.awt.*;
C.import javax.awt D.import javax.swing.*;
14.在类中若要处理ActionEvent事件,则该类需要实现的接口是( )。
A.Runnable B.ActionListener C.Serializable D.Event
15.下列不属于java.awt包中的基本概念的一项是( )。
A.容器 B.组件 C.线程 D.布局管理器
16.下列关于AWT组件的说法中错误的一项是( )。
A.Frame是顶级窗口,它无法直接监听键盘输入事件
B.对话框需要依赖于其他窗口而存在
C.菜单只能被添加到菜单栏中
D.可以将菜单添加到任意容器的某处
17.JPanel的默认布局管理器是()。
A.BorderLayout B.GridLayout C.FlowLayout D.CardLayout
18.下列说法中错误的是( )。
A.在Windows系统下,Frame窗口是有标题、边框的
B.Frame的对象实例化后,没有大小,但是可以看到
C.通过调用Frame的setSize()方法来设定窗口的大小
D.通过调用Frame的setVisible(true)方法来设置窗口为可见
19.下列说法中错误的是( )。
A.同一个对象可以监听一个事件源上多个不同的事件
B.一个类可以实现多个接口
C.一个类中可以同时出现事件源和事件处理者
D.一个类只能实现一个接口
20.下列选项中不属于容器的一项是( )。
A.Window B.Panel C.FlowLayout D.ScrollPane
二、填空题
1.Java编程语言是一种跨平台的编程语言,在编写图形用户界面方面,也要支持 功能。
2.Java的图形用户界面技术经历了两个发展阶段,分别通过提供 开发包和 开发包来体现。
3.在进行界面设计的时候,只要掌握好AWT和Swing的三点思路,就能编写出较好的图形用户界面:首先是 ,其次是 ,第三是 。
4.java.awt包提供了基本的java程序的GUI设计工具,主要包括下述三个概念,它们分别是: 、 和 。
5.组件不能独立地显示出来,必须将组件放在一定的 中才可以显示出来。
6.容器本身也是一个 ,具有组件的所有性质,另外还具有放置其他 和 的功能。
7.容器中的布局管理器负责各个组件的 和 ,因此用户无法在这种情况下设置组件的这些属性。
8.如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为 。
9.所有的组件都可以通过 方法向容器中添加组件。
10.有3种类型的容器: 、 、 。
11.FlowLayout类是 直接子类。其布局策略是:将容器中的组件按照加入的先后顺序从 向 排列,当一行排满之后就转到下一行继续从 向 排列每一行中的组件都 排列。它是 和 缺省使用的布局编辑策略。
12.对于一个原本不使用FlowLayout布局编辑器的容器,若需要将其布局策略改为FlowLayout,可以使用 方法。
13.BorderLayout类的布局策略是:把容器内的空间划分为 、 、 、 、
五个区域,它们分别用字符串常量 、 、 、 、 表示。
14.BorderLayout是 、 、 和 的缺省布局策略。
15.在事件处理的过程中,主要涉及3类对象: 、 和 。
16.事件类主要有两个: 类以及 类。
17.根据器和注册所在的类之间的关系,我们可以把事件处理分为以下几种情况:利用 对象、 对象、 对象和 对象处理事件。
18.标准组件是由 和 构成,容器是能够容纳其他组件的对象,而基本组件是放置在容器中而不能在其内部存放其他组件的对象。
19.按钮可以引发 事件,TextField可产生 和 事件,下拉列表可产生 项目事件。当用户单击复选框使其选中状态发生变化时就会引发 ItemEvent 类代表的选择事件。滚动条可以引发 类代表的调整事件。
20.ActionEvent事件类包含 事件,该事件通过 接口进行监听,通过调用 方法将事件源注册到,通过调用 方法实现监听后的动作,通过调用 方法 可以获得发生事件的事件源对象,调用 方法可以获取引发事件动作的命令名。
21.通常在itemStateChanged(ItemEvent e)方法里,会调用 方法获得产生这个选择事件的列表(List)对象的引用,再利用列表对象的方法 或7本布局 就可以方便地得知用户选择了列表的哪个选项。
22.列表的双击事件 (能/不能)覆盖单击事件。当用户双击一个列表选项时,首先产生一个 事件,然后再产生一个 事件。
22.调整事件(AdjustmentEvent)类只包含一个事件—— 事件, 代表鼠标拖动滚动条滑块的动作。
23.调用MouseEvent对象的 方法就可以知道用户引发的是哪个具体的鼠标事件。
24.在菜单项之间增加一条横向分隔线的方法是 。
25.将菜单项添加到菜单中以及将菜单添加的菜单栏中所用的方法都是 ,将菜单栏添加到窗口中的方法是 。
26.对话框组件一般可以接受 事件和 事件。
27.创建字体后,可以用 类的成员方法 来设置自己希望使用的字体。
28.Java中可以利用Graphics2D类的 方法显示图像。
29.在Swing中完全可以使用 包中的各种类进行事件处理,同时它也可以使用 包中的类处理事件,而AWT则只能使用 包中的各种类进行事件处理。
30.可将JOptionPane类的对话框分为4种类型,分别是只给出提示信息的 、要求用户进行确认的 、可输入数据的 和由用户自己定义类型的 。
三、编程题
1.创建一个Frame类型窗口,在窗口中添加2个不同颜的Panel面板,每个面板中添加2个按钮组件。
2.创建一个Frame类型窗口,采用GridLayout布局,在窗口中创建一个计算器的界面。
3.创建两个Frame类型窗口,在第一个窗口中添加一个按钮,当单击按钮时打开第二个窗口,当单击两个窗口中的关闭按钮时能关闭窗口。
4.编写一个能在窗口中同时响应鼠标事件和键盘事件的程序,能对鼠标的各种动作进行监听,对键盘的输入做出相应的反应。
5.编写一个测试计算是否正确的程序,窗口中包含3个按钮、3个单行文本输入区、一个下拉列表框,当单击第1个按钮时在第1个单行文本输入区中产生一个随机数,当单击第2个按钮时在第2个单行文本输入区中产生一个随机数,在下拉列表框中选择一种运算符,如+、-、*、/等,然后单击第3个按钮,将计算结果显示在第3个单行文本输入区中。
6.编写一个菜单程序,其中包含“文本”、“格式”、“图片”和“动画”菜单,其中“文本”、“图片”和“动画”菜单中分别包含“显示文本”、“显示图片”和“播放动画”菜单项,“格式”菜单中包含“字体大小”、“字体颜”两个菜单项,“字体大小”菜单项又包含“20”、“40”、“60”三个子菜单项,“字体颜”菜单项又包含“红”、“绿”、“蓝”三个子菜单项。当单击菜单项或子菜单项时都能实现相应功能。
发布评论