java考试题库第五章

更新时间:2023-11-17 16:00:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

选择题

5-1 下列关于容器的描述中,错误的是 D A.容器是由若干个组建和容器组成的

B.容器是对图形界面中界面元素的一种管理 C.容器是一种对指定宽和高的矩形范围 D.容器都是可以独立的窗口

5-2 下列界面元素中,不是容器的是 A

A.List B.Frame C.Dialog D.Panel

5-3 下列关于实现图形用户界面的描述中,错误的是 D A.放在容器中的组件首先要定义,接着要初始化

B.放在容器中的多个组件是要进行布局的,默认的布局策略是FlowLayout

C.容器中所有组件都是事件组件,都可以产生事件对象 D.事件处理是忧监听者定义的方法来实现的 5-4 下列关于组件类的描述中,错误的是 A

A.组件类中包含了文本组件类(TextComponent)和菜单组件类(MenuComponent) B.标签(Label)和按钮(Button)是组件类(Component)的子类 C.面板(Panel)和窗口(Window)是容器类(Container)的子类

D.文本框(TextField)和文本区(TextArea)是文本组件类(TextComponent)的子类 5-5 在对下列语句的解释中,错误的是 C but.addActionListener(this);

A. but是某种事件对象,如按钮事件对象 B. this表示当前容器 C. ActionListener是动作事件的监听者

D. 该语句的功能是将but对象注册为this对象的监听者 5-6 所有事件类的父类是 C A.ActionEvent B.AwtEvent C.KeyEvent D.MouseEvent 5-7 所有GUI标准组件类的父类是 C A.Buttom B.List C.Component D.Container

5-8 下列各种布局管理器中Window类、Dialog类和Frame类的默认布局是 C A.FlowLayout B.CardLayout C.BorderLayout D.GridLayout

5-9 在下列各种容器中,最简单的无边框的又不能移动和缩放的只能包含在另一种容器中的容器是 D A.Window B.Dialog C.Frame D.Panel 5-10 下列关于菜单和对话框的描述中,错误的是 C A.Frame容器是可以容纳菜单组件的容器 B.菜单条中可包含若干个菜单,菜单中又可包含若干菜单项,菜单项中还可包含菜单子项 C.对话框与Frame一样都可作为程序的最外层容器 D.对话框内不含有菜单条,它由Frame弹出

判断题

5-1 AWT是抽象窗口工具包的英文缩写。(对) 5-2 容器中只能包含有组件,而不能再含有容器。(错) 5-3 容器分可以独立的窗口和不可以独立的窗口两种。(对)

5-4 单选按钮提供“多选一”的输入选择,下拉列表提供“多选多”的输入选择。(错) 5-5 所有容器的默认布局都是FlowLayout。(错) 5-6 所有的组件都是事件源。(错)

5-7 Java 2 的事件处理方法是采用委托事件处理模型。(对) 5-8 事件组件都应注册一个事件监听者。(对)

5-9 事件监听者除了得知事件的发生外,还应调用相应方法处理事件。(对) 5-10 所有事件的父类是EventObject类。(对)

5-11 图形用户界面是由用户自定义成分、控制组件和容器组成的。(对) 5-12 所有GUI标准组件类的父类是Component类。(对) 5-13 所有容器类的父类是Frame类。(错) 5-14 标准和按钮都是事件源。(对)

5-15 文本去和文本框都可以引发两种事件:文本改变事件和动作事件。(错) 5-16 每个复选框有两种状态:“打开”和“关闭”状态。(对)

5-17 复选框组(CheckboxGroup)是由若干个按钮组成的。在一组按钮中可选多个。(错) 5-18 列表(List)是由多个选项组成的,只可在列表框的若干个选项选取一个。(错) 5-19 下拉列表(Choice)是一种“多选多”的输入界面。(错) 5-20 滚动条有两类:水平滚动条和垂直滚动条。(对) 5-21 画布(Canvas)是一种可容纳多个组件的容器。(错)

5-22 所有容器都采用顺序布局(FlowLayout)作为默认布局管理器。(错) 5-23 边界布局(BorderLayout)将容器分为东、西、南、北共4个区域。(错)

5-24 卡片布局(CardLayout)可使容器容纳多个组件,在同一时刻只显示若干个组件中的一个。(对) 5-25 容器可容纳组件和容器,同一个容器中的组件可被同时显示或者同时隐藏。(对) 5-26 所有容器都是有边框的。(错) 5-27 Panel容器是可以嵌套使用的。(对)

5-28 Applet实际是一种特殊的Panel容器。Java Applet程序只负责它拥有的Applet容器内的无边框区域。(对) 5-29窗口(Window)容器是一种独立窗口,但它不能作为程序的最外层容器。(对) 5-30 Frame容器是有边框的容器,它也是一种独立窗口,只能作为最外层容器。(对) 5-31 Frame容器可以容纳菜单组件,它实现了MenuContainer接口。(对) 5-32 MenuComponent类是菜单组件的父类。(对) 5-33 菜单条(MunuBar)、菜单(Munu)、菜单项(MunuItem)是3中不同的菜单组件。(错) 5-34 对话框(Dialog)不是一种独立使用的容器。(错)

5-35 文件对话框(FileDialog)是对话框(Dialog)的子类,它是一种打开文件和保留文件的对话框窗口。(对)

分析程序输出结果 5-1 Exer5_1.java import java.applet.*; import java.awt.*;

public class Exer5_1 extends Applet { private Label lab1,lab2; public void init() { lab1=new Label(); lab1.setText(\标签文本左对齐\ lab1.setAlignment(Label.LEFT); lab2=new Label(\标签文本右对齐\ setLayout(new GridLayout(3,3)); add(lab1);add(lab2);

} }

运行改程序后,输出结果如图5-5所示。

图5-5 分析题5-1输出结果 5-2 Exer5_2.java import java.applet.*; import java.awt.*;

import java.awt.event.*;

public class Exer5_2 extends Applet implements ActionListener,ItemListener { List colList; String colName[]={\黑色\蓝色\浅蓝色\绿色\红色\黄色\ Color cols[]={Color.black,Color.blue,Color.cyan,Color.green,Color.red,Color.yellow}; int t; public void init() {

colList=new List(4,false);

colList.addActionListener(this); colList.addItemListener(this); for(int i=0;i

colList.add(colName[i]);

add(colList); }

public void actionPerformed(ActionEvent e) {}

public void itemStateChanged(ItemEvent e) { showStatus(colList.getSelectedItem()+\ t=colList.getSelectedIndex(); repaint(); }

public void paint(Graphics g) { g.setColor(cols[t]); g.fillRect(15,30,20,20); }

}

运行改程序后,输出结果如图5-6所示。

5-3 Exer5_3.java import java.awt.*;

import java.awt.event.*;

public class Exer5_3 extends Frame implements ActionListener { Frame fr; Panel deck; CardLayout c1; Button but[]; String name[]={\第一张\下一张\前一张\最末张\ public Exer5_3() { fr=new Frame(\卡片窗口\ deck=new Panel(); c1=new CardLayout(); deck.setLayout(c1); Panel c1=new Panel(); Label lab1=new Label(\卡片1\ c1.add(lab1); deck.add(c1,lab1.getText()); Panel c2=new Panel(); Label lab2=new Label(\卡片2\ c2.add(lab2);

deck.add(c2,lab2.getText()); Panel c3=new Panel();

Label lab3=new Label(\卡片3\c3.add(lab3);

deck.add(c3,lab3.getText()); Panel c4=new Panel();

Label lab4=new Label(\卡片4\c4.add(lab4);

deck.add(c4,lab4.getText());

Panel contr=new Panel();

contr.setLayout(new GridLayout(2,2)); but=new Button[name.length]; for(int i=0;i

fr.add(contr,BorderLayout.WEST); fr.add(deck,BorderLayout.EAST); fr.setSize(300,150); fr.show();

}

public void actionPerformed(ActionEvent e) { if(e.getSource()==but[0]) c1.first(deck); if(e.getSource()==but[1]) c1.next(deck); if(e.getSource()==but[2]) c1.previous(deck); if(e.getSource()==but[3]) c1.last(deck); }

public static void main(String args[]) { Exer5_3 m1=new Exer5_3(); } }

运行该程序后,输出结果如图5-7所示。

5-2 使用Java Application编写满足下列要求的程序。 (1) 使用GridLayout布局。

(2) 设计一个简单的计算器。包括数字按钮0~9,以及加、减、乘、除、清零、等于运算按钮和一个现实计算结果

的文本区。

请读者参照本书本章5.2程序距离中的例5.1的程序内容进行编写。 5-3 编写一个图形用户界面的Application程序。 (1) 有一个菜单条;

(2) 菜单条中有3个菜单;

(3) 每个菜单有2个菜单项,其中一个菜单项又具有2个菜单子项。 程序内容如下: import java.awt.*;

import java.awt.event.*;

public class pro5_3 extends Frame implements ActionListener,ItemListener { TextField text; public pro5_3() { super(\一个联系菜单的窗口\ setSize(300,200); }

public void init() { MenuBar myB=new MenuBar(); setMenuBar(myB); Menu m1=new Menu(\文件\ m1.add(new MenuItem(\保存\ m1.addSeparator(); m1.add(\退出\ m1.addActionListener(this); myB.add(m1); Menu m2=new Menu(\编辑\ m2.add(\复制\ m2.addSeparator(); m2.add(\全选\ m2.addActionListener(this); myB.add(m2);

Menu m3=new Menu(\插入\ m3.add(\页码\ m3.addSeparator(); Menu m31=new Menu(\图片\ m31.add(\来自剪贴画\ m31.add(\来自图形文件\ m3.add(m31); m3.addActionListener(this); myB.add(m3); text=new TextField(); add(\}

public static void main(String args[]) { pro5_3 myMenu=new pro5_3(); myMenu.init(); myMenu.setVisible(true); }

public void itemStateCharged(ItemEvent e) { text.setText(\状态改变\}

public void actionPerformed(ActionEvent e) { text.setText(e.getActionCommand()); if(e.getActionCommand()==\退出\ System.exit(0); } }

运行该程序后,输出结果如图5-11所示。

5-4 编写一个可以弹出对话框的程序。

请读者参考本书本章5.2程序举例中的例5.4的程序内容进行编程。

测试题: 1. 单选题

5-1 下列关于图形用户界面元素的描述中,错误的是() A. java. Awt包中含有 GUI的各类组件

B. 容器类(Container)是组件类(Componenet)的一个子类

C. 可以向容器中填加组件,不能向容器中填加容器

D. 组件在容器中的安排是由布局管理器类来决定的 5-2 下列关于事件和事件处理的描述中,错误的是() A. 每个事件源只能发出一种类型的事件

B. 事件对象是指某种事件类的对象 C. 事件监听者是某种监听者类的对象 D. 通常注册当前容器为事件对象的监听者 5-3 下列的事件类中,所有事件类的父类是()

A. AWTEvent类 B. EventObject类 C. ActionEvent类 D. InputEvent类

5-4 在AWT组件层次关系图中,属于容器组件的子类的是() A. List B. TextArea C. Frame D. Choice

5-5 下列的容器中。没有边框和标题并可以作最顶层容器的是() A. Window B. Fram C. Panel D. 无 2. 判断题

5-1 容器中的若干组件是由该容器的布局管理器来确定其位置的。 5-2 很多事件类都在 java . awt . event包中。

5-3 容器类(Container)不是组件类(Componenet)的子类。 5-4 Window类和 Frame类得默认布局管理器都是 FlowLayout。

5-5 菜单组件包含一个菜单条,每个菜单条又包含若干个菜单项,每个菜单项还可以再含有若干个菜单子项。 3.分析程序的输出结果 5-1 程序内容如下:

import java. awt.*;

import java. awt. event.*;

public class Test5_1 implements ActionListener { Frame f; PopupMenu pm; Button b1,b2; public static void main(String args[ ]) { Test5_1 mywin=new Test5_1( ); mywin. int( ); }

Void int( ) { f=new Fram(“这是我的窗口”); b1=new Button(“弹出菜单”); b2=new Button(“退出”);

b1.addActionListener(this); b2.addActionListener(this); f.add(b1,”West”); f.add(b2,”East”);

pm=new PopupMenu(“弹出窗口”); pm.add(new MenuItem(“保存”)); pm.add(new MenuItem(“打印”)); pm.add(new MenuItem(“浏览”)); pm.add(new MenuItem(“打开”)); pm.add(new MenuItem(“关闭”)); f.add(pm);

f.setSize(400,200);

f.setVisible(true); } Public viod actionPerformed(ActionEvent e) { If(e.getActionCommand( )==”退出”) System.exit(0); pm.show(b1,20,20); } }

5-2 程序内容如下:

import java.applet. Applet; import java.awt.*;

import java.awt.event.*;

public class Test5_2 extends Applet implements ItemListener { CheckboxGroup cg; Checkbox red,blue,greed; Color co; public viod init( ) { cg=new CheckboxGroup(); co=Color.blue; red=new Checkbox(“红色”,cg,false);

red.addItemListener(this); add(red);

greed=new Checkbox(“绿色”,cg,false);

greed.addItemListener(this); add(greed);

blue=new Checkbox(“蓝色”,cg,true); blue.addItemListener(this); add(blue);

} public void itemStateChanged(ItemEvent e) { if(e.getSource()==red) co=Color.red; if(e.getSource()==green) co=Color.green; If(e.getSource()==blue) co=Color.blue; repaint(); } public void paint(Graphics g) { g.setColor(co); g.drawRect(30,30,150,80); } }

4.编程题

编写一个简单的图形用户界面,使用Application程序和Applet程序。要求该图形界面上至少有4中不同的组件。

5.简答题

5-1 文本框与文本区有何不同?

5-2 实现图形用户界面应该至少做哪3件事情? 5-3 布局设计的目的是什么?它由什么来实现? 5-4 什么是文本对话框?它有什么特点?

本文来源:https://www.bwwdw.com/article/tx2v.html

Top