(部选)JAVA各章习题及答案(7)

2019-06-05 14:46

1.下列说法中错误的一项是( B )。

A.组件是一个可视化的能与用户在屏幕上交互的对象 B.组件能够独立显示出来 C.组件必须放在某个容器中才能正确显示 D.一个按钮可以是一个组件 【解析】组件不能独立显示,它必须放在某个容器中才能正确显示。 2.进行Java基本GUI设计需要用到的包是( C )。

A.java.io

B.java.sql

C.java.awt

D.java.rmi

【解析】进行Java基本GUI设计需要用到的包是java.awt和javax.swing 3.Container是下列哪一个类的子类( D )?

A.Graphics

B.Window

C.Applet

D.Component

【解析】Container类是由Component类派生的。 4.java.awt.Frame的父类是( B )。

A.java.util.Window

B.java.awt Window C.java.awt Panel

D.java.awt.ScrollPane

【解析】java.awt.Frame的父类java.awt Window。 6.下列叙述中,错误的一项是( D )。

A.采用GridLayout布局,容器中的每个组件平均分配容器空间B.采用GridLayout布局,容器中的每个组件形成一个网络状的布局

C.采用GridLayout布局,容器中的组件按照从左到右、从上到下的顺序排列D.采用GridLayout布局,容器大小改变时,每个组件不再平均分配容器空间

【解析】采用GridLayout布局,容器大小改变时,每个组件平均分配容器空间。 7.当单击鼠标或拖动鼠标时,触发的事件是( D )。

A.KeyEvent

B.ActionEvent

C.ItemEvent

D.MouseEvent

【解析】对鼠标操作,触发的事件是MouseEvent事件。 9.下列说法中错误的一项是( D )。

A.在实际编程中,一般使用的是Component类的子类 B.在实际编程中,一般使用的是Container类的子类 C.Container类是Component类的子类 D.容器中可以放置组件,但是不能够放置容器 【解析】容器中既可以放置组件,也可以放置容器。 12.布局管理器可以管理组件的哪个属性( A )?

A.大小

B.颜色

C.名称

D.字体

【解析】布局管理器可以管理组件的位置和大小,而不能管理组件的其他属性。 13.编写AWT图形用户界面的时候,一定要import的语句是( B )。

A.import java.awt; B.import java.awt.*; C.import javax.awt D.import javax.swing.*; 【解析】“import java.awt.*;”语句的含义是加载awt包中的所有类,而其他都不是。 14.在类中若要处理ActionEvent事件,则该类需要实现的接口是( B )。

A.Runnable

B.ActionListener

C.Serializable

D.Event

【解析】处理ActionEvent事件的类需要实现的接口是ActionListener,它其中包含了actionPerformed()方法。 15.下列不属于java.awt包中的基本概念的一项是( C )。

A.容器

B.组件

C.线程

D.布局管理器

【解析】线程不属于java.awt包中的基本概念的一项,其他三个都是。 17.JPanel的默认布局管理器是( C )。

A.BorderLayout

B.GridLayout

C.FlowLayout

D.CardLayout

【解析】Panel、JPanel和Applet的默认布局管理器都是FlowLayout。 18.下列说法中错误的是( B )。

A.在Windows系统下,Frame窗口是有标题、边框的 B.Frame的对象实例化后,没有大小,但是可以看到 C.通过调用Frame的setSize()方法来设定窗口的大小 D.通过调用Frame的setVisible(true)方法来设置窗口为可见

【解析】Frame的对象实例化后,没有大小,也不能看到,只有通过调用Frame的setSize()和setVisible(true)方法才能设定窗口的大小和可见性。

19.下列说法中错误的是( D )。 31

A.同一个对象可以监听一个事件源上多个不同的事件 B.一个类可以实现多个监听器接口 C.一个类中可以同时出现事件源和事件处理者 D.一个类只能实现一个监听器接口 【解析】一个类可以实现多个监听器接口,从而实现对多个事件的监听。 20.下列选项中不属于容器的一项是( )。

A.Window 二、填空题

1.Java编程语言是一种跨平台的编程语言,在编写图形用户界面方面,也要支持 跨平台 功能。 2.Java的图形用户界面技术经历了两个发展阶段,分别通过提供 awt 开发包和 swing 开发包来体现。

3.在进行界面设计的时候,只要掌握好AWT和Swing的三点思路,就能编写出较好的图形用户界面:首先是 界面中的组件如何放置 ,其次是 如何让组件响应用户的操作 ,第三是 掌握每种组件的显式效果和响应用户操作 。

4.java.awt包提供了基本的java程序的GUI设计工具,主要包括下述三个概念,它们分别是: 组件 、 容器 和 布局管理器 。 5.组件不能独立地显示出来,必须将组件放在一定的 容器 中才可以显示出来。

6.容器本身也是一个 组件 ,具有组件的所有性质,另外还具有放置其他 组件 和 容器 的功能。 7.容器中的布局管理器负责各个组件的 位置 和 大小 ,因此用户无法在这种情况下设置组件的这些属性。 8.如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为 setLayout(null) 。 9.所有的组件都可以通过 add() 方法向容器中添加组件。 10.有3种类型的容器: Window 、 Panel 、 ScrollPane 。

11.FlowLayout类是 java.lang.Object 直接子类。其布局策略是:将容器中的组件按照加入的先后顺序从 左 向 右 排列,当一行排

满之后就转到下一行继续从 左 向 右 排列,每一行中的组件都 居中 排列。它是 Panel 和 Applet 缺省使用的布局编辑策略。 12.对于一个原本不使用FlowLayout布局编辑器的容器,若需要将其布局策略改为FlowLayout,可以使用 setLayout(new FlowLayout()) 方法。

13.BorderLayout类的布局策略是:把容器内的空间划分为 东 、 西 、 南 、 北 、 中

五个区域,它们分别用字符串常量 East 、 West 、 South 、 North 、 Center 表示。 15.在事件处理的过程中,主要涉及3类对象: 事件 、 事件源 和 事件处理者 。

18.标准组件是由 容器 和 基本组件 构成,容器是能够容纳其他组件的对象,而基本组件是放置在容器中而不能在其内部存放

其他组件的对象。

19.按钮可以引发 ActionEvent 事件,TextField可产生 TextEvent 和 ActionEvent 事件,下拉列表可产生 ItemEvent 项目事件。当

用户单击复选框使其选中状态发生变化时就会引发 ItemEvent 类代表的选择事件。

20.ActionEvent事件类包含 ACTION_PERFOMED 事件,该事件通过 ActionListener 接口进行监听,通过调用 addActionListener()

方法将事件源注册到监听器,通过调用 actionPerformed(ActionEvent e) 方法实现监听后的动作,通过调用 getSource()方法 可以获得发生事件的事件源对象,调用 getActionCommand() 方法可以获取引发事件动作的命令名。

29.在Swing中完全可以使用 java.awt.event 包中的各种类进行事件处理,同时它也可以使用 javax.swing.event 包中的类处理事件,而AWT则只能使用 java.awt.event 包中的各种类进行事件处理。 三、编程题

2.创建一个Frame类型窗口,采用GridLayout布局,在窗口中创建一个计算器的界面。 【编程分析】本程序主要考察布局管理问题。

第一步:创建一个主类,其中定义两个面板,一个文本框,一个二维按钮数组,一个二维字符串数组。一个构造方法、一个main()方法。

第二步:在构造方法中创建控件,实现布局。 【参考程序】

import java.io.*; import java.awt.*;

public class X10_3_2 extends Frame{ Panel pn1,pn2; TextField tf; 32

// 定义两个面板 // 定义文本框控件

B.Panel

C.FlowLayout

D.ScrollPane

【解析】FlowLayout类属于布局管理器,而不属于容器。

Button[][] bt = new Button[4][6]; // 定义按钮对象二维数组

String[][] str = {{\

{\

public static void main(String[] args)throws IOException{ } 【运行结果】

}

public X10_3_2(){ }

pn1 = new Panel(); pn2 = new Panel(); tf = new TextField(35); pn1.add(tf);

pn2.setLayout(new GridLayout(4,6)); // 设置pn2面板的布局 for(int i=0; i<4; i++){ // 创建24个按钮控件并添加到pn2面板中 }

for(int j=0; j<6; j++){ }

// 将pn1面板添加到窗口北面 //将pn2面板添加到窗口中间

bt[i][j] = new Button(str[i][j]); pn2.add(bt[i][j]);

// 创建文本框

// 创建面板

new X10_3_2();

add(pn1,BorderLayout.NORTH); add(pn2,BorderLayout.CENTER); this.setSize(300,250); this.setVisible(true);

this.setTitle(\// 设置窗口标题

// 设置窗口大小 // 显示窗口

5.编写一个测试计算是否正确的程序,窗口中包含3个按钮、3个单行文本输入区、一个下拉列表框,当单击第1个按钮时在第1个单行文本输入区中产生一个随机数,当单击第2个按钮时在第2个单行文本输入区中产生一个随机数,在下拉列表框中选择一种运算符,如+、-、*、/等,然后单击第3个按钮,将计算结果显示在第3个单行文本输入区中。

【编程分析】本程序主要考察按钮、文本框、下拉列表框的应用以及随机数的产生和对ActionEvent时间的处理方法。

第一步:创建一个RandomFrame类,该类继承Frame类,实现ActionListener接口。 第二步:在RandomFrame类中定义各种需要的组件及容器,设计好布局,并实现相应功能。 第三步:在主类的main()方法中创建RandomFrame类的对象,从而实现相应的功能。 【参考程序】

import java.awt.*; import java.awt.event.*; 33

public class X10_3_5 {

public static void main(String[] args) { } }

class RandomFrame extends Frame implements ActionListener{ Button[] bt = new Button[3]; TextField[] tf = new TextField[3]; String[] item = {\ Choice choice; Panel pn1, pn2; double d1, d2, d3; RandomFrame(){ }

public void actionPerformed(ActionEvent e){ 34

if(e.getSource() == bt[0]){

int i;

for(i=0; i<3; i++){ }

bt[i] = new Button(); bt[i].addActionListener(this); tf[i] = new TextField(12);

new RandomFrame();

bt[0].setLabel(\bt[1].setLabel(\bt[2].setLabel(\choice = new Choice(); for(i=0; i

pn1 = new Panel( ); pn2 = new Panel( ); pn1.add(tf[0]); pn1.add(tf[1]); pn1.add(choice); pn1.add(tf[2]); for(i=0; i<3; i++)

pn2.add(bt[i]);

this.add(pn1, BorderLayout.NORTH); this.add(pn2, BorderLayout.SOUTH); this.setTitle(\

this.addWindowListener(new WindowAdapter(){ } );

this.setSize(400,150); this.setVisible(true);

public void windowClosing(WindowEvent e){ }

System.exit(1);

choice.addItem(item[i]);

} }

}

d1 = (int)(90 * Math.random() )+10; tf[0].setText(String.valueOf(d1) );

if(e.getSource() == bt[1]){ }

if(e.getSource() == bt[2]){ }

int index = choice.getSelectedIndex(); switch (index){ }

tf[2].setText(String.valueOf(d3) );

case 0: d3 = d1 + d2; break; case 1: d3 = d1 - d2; break; case 2: d3 = d1 * d2; break; case 3: d3 = d1 / d2; break; case 4: d3 = d1 % d2; break; d2= (int)(90 * Math.random() )+10; tf[1].setText(String.valueOf(d2) );

【运行结果】

35


(部选)JAVA各章习题及答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:营养师模拟试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: