1、编写用户界面程序及答案解析(总分:132.00,做题时间:90 分钟)一、B选择题/B(总题数:51,分数:102.00)1.下列说法中,错误的一项是_。(分数:2.00)A.在实际编程中,一般使用的是 Container的子类B.在实际编程中,一般使用的是 Component的子类C.Container类是 Component类的子类D.容器中可以放置构件,但是不能够放置容器2.向容器中添加构件的方法是_。(分数:2.00)A.setLayout()B.setFont()C.add()D.setVisible(boolean3.下列程序实现了 2个监听器接口:ActionListener 和
2、 W1ndowListener。 import java.awt.*; import java.awt.event.*; public class ex39_ public static void main(String args) ex39 obj = new ex39(); obj .go(); public void go() Frame f = new Frame(“ex39“); f.addWindowListener(this); Button b = new Button(“Button“); b.addActionListener(this); f.add(b); f.pack
3、(); f.setVisible(true); public void actionPerformed(ActionEvent e) System.out.println(“Button pressed!“); public void windowActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) public void windowClosed(WindowEvent e) public void windowClosing(WindowEvent e)System.exit(1); public voi
4、d windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowOpened(WindowEvent e) 请选择正确的语句填入横线处。(分数:2.00)A.extends ActionListener, WindowListenerB.implements ActionListener, WindowListenerC.implements ActionListener; WindowListenerD.extends ActionListener; WindowL
5、istener4.WindowListener 中可以实现窗口关闭功能的方法是_。(分数:2.00)A.public void windowOpened(WindowEventB.public void windowClosed(WindowEventC.public void windowClosing(WindowEventD.public void windowDeactivated(WindowEvent5.下列_属于 Swing提供的分层面板。(分数:2.00)A.JDesktopPaneB.JbuttonC.JFrameD.JMenu6.下列 Java组件中,不属于容器的是_。(分
6、数:2.00)A.WindowB.PanelC.FrameD.Label7.下列_不属于 AWT布局管理器。(分数:2.00)A.CardLayoutB.GridLayoutC.BorderLayoutD.BoxLayout8.下列说法中错误的一项是_。(分数:2.00)A.Swing的按钮构件上可以使用图标B.Swing构件可以设置一个或多个边框C.Swing构件可以使用键盘代替鼠标操作D.Swing中需要手工编写双缓冲区9.选择正确的语句填在下列程序的横线处。 import java.awt.*; import java.awt.event.*; public class ex30 Fra
7、me f; public static void main(String args) ex30 e = new ex30(); e. te st ( ); public void test() f = new Frame(“ex30“); _ f.paok(); f.setVisible(true); class MyWindowListener extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(1); (分数:2.00)A.addWindowListener(new MyWindowtiste
8、ner();B.addWindowListener(MyWindowListener();C.addWindowAdapter(new MyWindowListener();D.addWindowListener(new MyWindowListener();10.下列说法中,正确的一项是_。(分数:2.00)A.AWT的高级事件依赖于触发此类事件的类,可以不和特定的动作相关联B.AWT的高级事件依赖于触发此类事件的类,可以和特定的动作相关联C.AWT的低级事件是在构件或者容器上发生的事件D.AWT的低级事件是基于语义的事件,不一定和特定的动作相关联11.下列说法中错误的一项是_。(分数:2.
9、00)A.布局管理器体现了 Java平台无关性B.LayoutManager是一个接口,编程时通常使用的是实现该接口的类C.每个容器都对应一个布局管理器D.在 Java中,必须直接设置构件在容器中的位置和直接设置构件的大小12.下列选项中,不属于容器的一项是_。(分数:2.00)A.PanelB.WindowC.FlowLayoutD.ScrollPane13.边框布局管理器将一个“容器”分成了_个位置。(分数:2.00)A.3个B.9个C.4个D.5个14.下列_容器的默认布局管理器是 BorderLayout。(分数:2.00)A.AppletB.PanelC.DialogD.Scroll
10、Bar15.请选择正确的语句填入下列程序的横线处。 import javax. Swing.*; import java.awt.*; import java.awt.event.*; public class ex46 static String str= “单击次数:“; static intcnt = 0; public static void main(String args) try UIManager.setLookAndFeel(UIManager. getCrossPlatformLookAndFeelClassName(); catch(Exception e) JFrame
11、 jf = new JFame(“ex46“); JButton jb = new JButton(“Button“); jb.addActionListener(new ActionListener() public void actionPerformed(ActionEvent ae) cnt +; j1.setText(str +cnt); ); j1. setLabelFor (jb); jPanel jp = new JPanel(); jp.setBorder(BorderFactory.createEmptyBorder(25, 25, 25, 25); jp.setLayou
12、t(new GridLayout(0, 1); jp.add(jb); jp.add (j1); jf.getContenPanel() .add(jp, “Center“); jf.pack(); jf.setVisible (true); (分数:2.00)A.Labelj1 = new JLabel(str + “0“);B.final JLabel j1 = new JLabel(str + “0“);C.final JLabelj1 = JLabel(str + “0“);D.JLabelj1 = new JLabel(str + “0“);16.请选择正确的语句填入下列程序的横线处
13、。 import java.awt.*; public class ex40 static Frame f; public static void main(String args) f = new Frame(“ex40“); MenuBar mb = new MenuBar(); f.setMenuBar (mb); Menu m1 = new Menu(“menu“); _ m1.add (mil); mb. add (m1); f. setSize (200, 200); f. setVisible (true); (分数:2.00)A.Menu mil = new MenuItem(
14、“iteml“);B.MenuItem mil = new MenuItem(“iteml“);C.Menu mil = new MenuItem(“iteml“);D.Menu mil = MenuItem(“iteml“);17.实现下列_接口可以对 TextField对象的事件进行监听和处理。(分数:2.00)A.ActionListenerB.FocusListenerC.MouseMotionListenerD.WindowListener18.在 AWT事件中,可以使组件增加、移动的事件是_。(分数:2.00)A.ComponentEventB.ContainerEventC.Fo
15、cusEventD.WindowEvent19.下列说法中错误的一项是_。(分数:2.00)A.同一个对象可以监听一个事件源上的多个不同的事件B.一个类中可以同时出现事件源和事件处理者C.一个类可以实现多个监听器接口D.一个类只能实现一个监听器接口20.下列关于 AWT构件的说法中错误的一项是_。(分数:2.00)A.对话框需要依赖于其他的窗口而存在B.Frame是顶级窗口,它无法直接监听键盘输入事件C.菜单只能被添加入菜单容器(MenuBa 中D.可以将菜单添加到任意容器的某处21.请在下列程序的横线处填入正确的语句。 import java.awt.*; import java.awt,e
16、vent.*; public class ex16 Frame f; TextArea ta; Button btn; public static void main(String args) ex16 e = new ex16(); e.m(); public void m() f = new Frame(“ex16“); ta = new TextArea(); btn = new Button(“ok“); btn.addActionListener(new MyAction(); f.add(ta, “Center“); f.add(btn, “South“); f.setSize(1
17、00, 100); f.setVisible (true); class MyAction implements ActionListener _ System. out.println (ta. getText (); (分数:2.00)A.static void actionPcrformcd(AcfionEventB.public void action(ActionEwentC.public actionPerformed(ActionEventD.public void actionPerformed(ActionEvent22.下列_方法可以用于消除容器的布局管理器。(分数:2.0
18、0)A.setSize()B.setLayout(nulC.setLocation()D.setFont()23.下列_是 Swing的高层构件。(分数:2.00)A.JMenuB.JButtonC.JLabelD.JTable24.当单击鼠标或者拖动鼠标时,触发的事件是_。(分数:2.00)A.ActionEventB.KeyEventC.ItemEventD.MouseEvent25.Container是下列_类的子类。(分数:2.00)A.WindowB.GraphicsC.AppletD.Component26.将一个容器 panell放在容器 frame1中的方法是_。(分数:2.0
19、0)A.frameinsert(panelB.frameadd(panelC.frameinsertJPanel(panelD.frameaddJPanel(nanel27.下列说法中错误的一项是_。(分数:2.00)A.Component类是抽象类,其他的构件类都是该类的子类B.Container类是用于管理构件的类,其直接父类是 ObJectC.Component类是 javawt包的核心D.LayoutManager接口用于确定容器中构件的布局28.下列说法中错误的一项是_。(分数:2.00)A.javawColor类提供了操作颜色的方法和常数B.iavawSystemColor类中封装
20、了系统默认的颜色C.javawFont类提供了字体操作,可以通过指定字体名、字型和大小创建字体实例D.javawFont包中提供了,java2D API 颜色空间的高级应用29.监听事件和处理事件_。(分数:2.00)A.都由 Listener完成B.都由相应事件 Listener处登记过的构件完成C.由 Listener和构件分别完成D.由 Listener和窗口分别完成30.布局管理器可以管理构件的_属性。(分数:2.00)A.大小B.颜色C.字体D.名称31.下列说法中错误的一项是_。(分数:2.00)A.下拉菜单可以被添加到 MenuBar或者其他菜单中B.MenuItem对象可以添加
21、 ActionListener监听器C.MenuBar和 Menu都可以不用注册监听器D.若要对 MenuItem添加监听器,也必须对 MenuBar添加监听器32.使用_位置参数,能够使一个部件位于容器的右边。(分数:2.00)A.BorderLayouRIGHTB.BorderLayouWESTC.BonierLayouEASTD.BorderLayouNORTH33.下列不属于 Java的图形用户界面内容的包是_。(分数:2.00)A.javaSwingB.javawtC.javaweventD.javio34.在 Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就
22、是以下的_包。(分数:2.00)A.javioB.javawtC.javappletD.javawevent35.所有 Swing组件都实现了_接口,提供对可存取性的支持,使得辅助功能如屏幕阅读器能够十分方便地从 Swing组件中得到信息。(分数:2.00)A.MVCB.B2BC.AccessibleD.B2C36.下列关于 Component的方法的说法中,错误的一项是_。(分数:2.00)A.getSize()方法用于获得构件的大小B.getName()方法用于获得构件的名字C.update()方法用于重新绘制构件D.setVisible(boolean 用于设置构件是否可见37.下列不属
23、于低级事件的一项是_。(分数:2.00)A.PaintEventB.InputEventC.FocusEventD.ActionEvent38._不属于布局管理器。(分数:2.00)A.边框布局B.组合布局C.网格布局D.流布局39.在下列程序横线处填入设置窗口大小的语句,窗口长 200,宽 100,请选择正确的一项_。 import java.awt.*; public class ex34 extends Frame public static void main(String args) ex34 e = new ex34(); _ e. setVisible (true); (分数:2
24、.00)A.setSize(200, 100);B.setSize(200, 100);C.setSize(100, 200);D.setSize(100, 200);40.下列说法中,错误的一项是_。(分数:2.00)A.Swing构件可以直接添加入顶层容器之中B.内容面板是一个轻量级构件,它是顶层容器所包含的普通容器C.玻璃面板可以用于接收鼠标事件D.根面板是由一个玻璃面板、一个内容面板和一个可选的菜单条组成41.下列_方法可以将 MenuBar加入 Frame中。(分数:2.00)A.addMenuBar()B.setMenu()C.add()D.setMenuBar()42.下列程序采
25、用 BorderLayout布局管理,选择正确的语句填入横线处,实现在 North区域显示一个名字为“北方”的 Button构件。 import java.awt.*; public class ex48 public static void main(String args) frame frm = new Frame (“北方“); frm.setLayout(new BorderLayout(); frm.setSize(200, 200); frm.setVisible(true); (分数:2.00)A.add(“Nouth“, new Button(“北方“);B.fradd(“S
26、outh“, new Button(“北方“);C.fradd(“Nouth“, new Button(“北方“);D.Fradd(“South“, Button(“北方“);43.选择正确的语句填入下列程序的横线处。 import java.awt.*; public class ex26 public static void main(String args) Frame f = new Frame(“ex26“); MenuBar mb = new MenuBar(); _ Menu m1 = new Menu(“menu1“); Menu m2 = new Menu(“menu2“);
27、 mb. add (ml); mb. add (m2); f.setSize(300, 100); f. setVisible (true); (分数:2.00)A.setMenuBar(m;B.msetMenuBar(;C.setMenuBar(m;D.msetMenuBar0;44.下列程序在 Frame中设定 BorderLayout布局管理器,选择正确的语句填入程序的横线处。 import java.awt.*; public class ex43 extends Frame public static void main(String args) ex43 obj = new ex4
28、3(“BorderLayout“); _ obj.add(“North“, new Button(“North“); obj.add(“South“, new Button(“Sourth“); obj.add(“East“, new Button (“East“); obj.add(“West“, new Button (“West“); obj. add (“Center“, new Button ( “Center“ ) ); obj.pack(); obj. setVisible (true); public ex43(String str) super (str); (分数:2.00
29、)A.obsetLayout(new BorderLayout();B.setLayout(new Borderkayout();C.setLayout(BorderLayout();D.obsetLayout(BorderLayout();45.下列说法中,错误的一项是_。(分数:2.00)A.使用 Flowlayout进行布局管理时,构件的大小采用的是其最佳尺寸B.使用 FlowLayout在容器中放置构件的策略是:从上到下,从左到右C.使用 FolwLayout进行布局管理时,不能调节构件之间的距离D.用 FlowLayout管理的构件随容器大小变化的变化规律是:构件大小不变,构件之间的
30、相对位置改变46.下列事件中属于高级事件的一项是_。(分数:2.00)A.选中项目列表的某一项时触发的事件B.鼠标进入一个 Button构件的区域时触发的事件C.关闭窗口时触发的事件D.按下键盘时触发的事件47.Swing是由 100%纯 Java实现的,Swing 组件是用 Java实现的_组件,没有本地代码,不依赖操作系统的支持,这是它与 AWT组件的最大区别。(分数:2.00)A.重量级B.中量级C.轻量级D.都不是48.选择正确的语句填入下列程序的横线处。 import javaawt*; import java.awt.event.*; public class ex21 stati
31、c Frame f; static FileDialog fd; public static void main(String args) f = new Frame(“ex21“); _ fd. setVisible (true); System.out.println (fd.getFile (); (分数:2.00)A.new FileDialog(f, “FileDialog“);B.new FileDialog(“FileDialog“);C.fd = new FileDialog(f, “FileDialog“);D.fd = new FileDialog(“FileDialog“
32、);49.在 Frame容器中使用 FlowLayout管理布局时,若要设定紧凑排列,则需要调用下列 _方法。(分数:2.00)A.setLayout(newFlowLayout()B.add()C.setVisible(truD.pack()50.要实现表格,需要继承下列_类。(分数:2.00)A.AbstractTableModelB.TabkModelableC.JTableD.TableModel51.事件监视器包含在_包中。(分数:2.00)A.javutilB.javawhappenC.javaweventD.javawlook二、B填空题/B(总题数:15,分数:30.00)52
33、.FlowLayout是_和_的默认布局管理器。(分数:2.00)填空项 1:_53.BorderLayout是_、_和 Frame的默认布局管理器。(分数:2.00)填空项 1:_54.抽象工具包 1 是用来开发 Java图形用户界面的工具包。(分数:2.00)填空项 1:_55.AWT提供的支持 GUI涉及的功能包括:_、事件处理模型、_和数据传送类。(分数:2.00)填空项 1:_56.若用户需要自己设置构件在容器中的大小和位置,则需要取消容器的 1。(分数:2.00)填空项 1:_57.采用 GridLayout布局管理器的容器,其中的各构件呈 1 布局。(分数:2.00)填空项 1:
34、_58.授权模型实现了把_和_分开的机制。(分数:2.00)填空项 1:_59. 1是一种简单的实现监听器的方法,重写有用的方法,无关的方法可以不用实现。(分数:2.00)填空项 1:_60.JButton构件在功能上属于_,而 JPanel构件属于_。(分数:2.00)填空项 1:_61.java.awt.Container中的容器包括 3类:_、Panel 和_。(分数:2.00)填空项 1:_62.与 KeyEvent相对应的接口是_,与 WindowEvent相对应的接口是_。(分数:2.00)填空项 1:_63.若要在画布上绘制图形,则 Canvas类的 1 方法必须被重写。(分数:
35、2.00)填空项 1:_64.在 java.awt包中 1 是一种透明的容器,没有标题和边框。(分数:2.00)填空项 1:_65.Swing的事件处理机制包括 1、事件和事件处理者。(分数:2.00)填空项 1:_66.当用户在 TextField中输入一行文字后,按回车,实现 1 接口可实现对事件的响应。(分数:2.00)填空项 1:_编写用户界面程序答案解析(总分:132.00,做题时间:90 分钟)一、B选择题/B(总题数:51,分数:102.00)1.下列说法中,错误的一项是_。(分数:2.00)A.在实际编程中,一般使用的是 Container的子类B.在实际编程中,一般使用的是
36、Component的子类C.Container类是 Component类的子类D.容器中可以放置构件,但是不能够放置容器 解析:2.向容器中添加构件的方法是_。(分数:2.00)A.setLayout()B.setFont()C.add() D.setVisible(boolean解析:3.下列程序实现了 2个监听器接口:ActionListener 和 W1ndowListener。 import java.awt.*; import java.awt.event.*; public class ex39_ public static void main(String args) ex39
37、obj = new ex39(); obj .go(); public void go() Frame f = new Frame(“ex39“); f.addWindowListener(this); Button b = new Button(“Button“); b.addActionListener(this); f.add(b); f.pack(); f.setVisible(true); public void actionPerformed(ActionEvent e) System.out.println(“Button pressed!“); public void wind
38、owActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) public void windowClosed(WindowEvent e) public void windowClosing(WindowEvent e)System.exit(1); public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowOpened(WindowEvent e) 请选择正
39、确的语句填入横线处。(分数:2.00)A.extends ActionListener, WindowListenerB.implements ActionListener, WindowListener C.implements ActionListener; WindowListenerD.extends ActionListener; WindowListener解析:4.WindowListener 中可以实现窗口关闭功能的方法是_。(分数:2.00)A.public void windowOpened(WindowEventB.public void windowClosed(Win
40、dowEventC.public void windowClosing(WindowEvent D.public void windowDeactivated(WindowEvent解析:5.下列_属于 Swing提供的分层面板。(分数:2.00)A.JDesktopPane B.JbuttonC.JFrameD.JMenu解析:6.下列 Java组件中,不属于容器的是_。(分数:2.00)A.WindowB.PanelC.FrameD.Label 解析:7.下列_不属于 AWT布局管理器。(分数:2.00)A.CardLayoutB.GridLayoutC.BorderLayoutD.Box
41、Layout 解析:8.下列说法中错误的一项是_。(分数:2.00)A.Swing的按钮构件上可以使用图标B.Swing构件可以设置一个或多个边框C.Swing构件可以使用键盘代替鼠标操作D.Swing中需要手工编写双缓冲区 解析:9.选择正确的语句填在下列程序的横线处。 import java.awt.*; import java.awt.event.*; public class ex30 Frame f; public static void main(String args) ex30 e = new ex30(); e. te st ( ); public void test() f
42、 = new Frame(“ex30“); _ f.paok(); f.setVisible(true); class MyWindowListener extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(1); (分数:2.00)A.addWindowListener(new MyWindowtistener(); B.addWindowListener(MyWindowListener();C.addWindowAdapter(new MyWindowListener();D.addWindo
43、wListener(new MyWindowListener();解析:10.下列说法中,正确的一项是_。(分数:2.00)A.AWT的高级事件依赖于触发此类事件的类,可以不和特定的动作相关联B.AWT的高级事件依赖于触发此类事件的类,可以和特定的动作相关联C.AWT的低级事件是在构件或者容器上发生的事件 D.AWT的低级事件是基于语义的事件,不一定和特定的动作相关联解析:11.下列说法中错误的一项是_。(分数:2.00)A.布局管理器体现了 Java平台无关性B.LayoutManager是一个接口,编程时通常使用的是实现该接口的类C.每个容器都对应一个布局管理器D.在 Java中,必须直接
44、设置构件在容器中的位置和直接设置构件的大小 解析:12.下列选项中,不属于容器的一项是_。(分数:2.00)A.PanelB.WindowC.FlowLayout D.ScrollPane解析:13.边框布局管理器将一个“容器”分成了_个位置。(分数:2.00)A.3个B.9个C.4个D.5个 解析:14.下列_容器的默认布局管理器是 BorderLayout。(分数:2.00)A.AppletB.PanelC.Dialog D.ScrollBar解析:15.请选择正确的语句填入下列程序的横线处。 import javax. Swing.*; import java.awt.*; import
45、 java.awt.event.*; public class ex46 static String str= “单击次数:“; static intcnt = 0; public static void main(String args) try UIManager.setLookAndFeel(UIManager. getCrossPlatformLookAndFeelClassName(); catch(Exception e) JFrame jf = new JFame(“ex46“); JButton jb = new JButton(“Button“); jb.addActionL
46、istener(new ActionListener() public void actionPerformed(ActionEvent ae) cnt +; j1.setText(str +cnt); ); j1. setLabelFor (jb); jPanel jp = new JPanel(); jp.setBorder(BorderFactory.createEmptyBorder(25, 25, 25, 25); jp.setLayout(new GridLayout(0, 1); jp.add(jb); jp.add (j1); jf.getContenPanel() .add(jp, “Center“); jf.pack(); jf.setVisible (true); (分数:2.00)A.Labelj1 = new JLabel(str + “0“);B.final JLabel j1 = new JLabel(str + “0“); C.final JLabelj1 = JLabel(str + “0“);D.JLabelj1 = new JLabel(str + “0“);解析:16.请选择正确的语句填入下列程序的横线处。 import java.awt.*; p