Java程序设计实用教程习题答案
《Java程序设计精典教程》习题答案
编著:胡伏湘,雷军环 清华大学出版社
第5章习题解答
一、简答题
1.什么是AWT?AWT的基本思想是什么?
答:AWT(抽象窗口工具包)是一组应用程序接口(API),其中包括各种Java程序员用来创建图形用户界面(GUI)的类,这些类分别对应着Java图形用户界面的构成成份:组件和容器。组件通常为图形用户界面中的可见部分,例如按钮(button)和标签(label)等。容器是图形用户界面中容纳其他组件的部分,一个容器中可以容纳一个或多个组件,甚至还可以容纳其他的容器。
AWT的基本思想是将图形用户界面(GUI)看作一系列嵌套的构件,最外层是窗口这样的容器,容器内又可以包含其他的组件和容器。这样由表及里,所有的构件构成了一个嵌套的树,一个构件在这棵树中的位置决定了它显示在屏幕上的位置以及事件的传递途径。
2.容器主要有哪些作用?Java中有哪些常见的容器。它们之间有什么异同? 答:容器组件的主要作用是包容其他组件或容器并按一定的方式组织排列它们,同一个容器的所有构件通常总是同时被显示和同时被隐藏的。
Java中常见的容器有Frame(框架)、Panel(面板)和Applet
框架Frame是一个带有边框的独立的窗口,可以移动、放大、缩小、关闭。 是独立于Applet和浏览器的一个窗口,是Application程序最外层的容器。面板是包含在窗口中的一个不带边框的区域。不是一个单独的窗口,它只是包含在窗口中的一个区域,是可以将许多组件组合起来的一种容器,必须将面板添加到窗体中才能
正常显示出来 。Applet也是无边框的容器,是Applet程序最外层的容器。
3.布局管理器的作用是什么?Java提供了哪几种布局管理器? 答:布局管理器用来控制组件在容器中的摆放位置。
Java提供了5种布局管理器,它们是:顺序布局管理器(FlowLayout)、边界布局管理器(BorderLayout)、网格布局管理器(GridLayout)、卡片布局管理器(CardLayout)、网格包布局管理器(GridBagLayout)
4.设计和实现图形用户界面的主要工作有哪些? 答:设计和实现图形用户界面的工作主要有两个:一是创建组成界面的各种容器和组件,指定它们的属性和位置关系,根据具体需要排列它们,从而构成完整的图形用户界面的物理外观;二是定义图形用户界面的事件和各界面元素对不同事件
的响应,从而实现图形用户与用户的交互功能。
5.简述事件对象、事件源、监听者的概念? 答:这三个概念的基本念义如下:
事件对象:通常当用户在用户接口上进行某种操作时,如按下键盘上某个键或移动鼠标,均会引发一个事件。事件对象是用来描述所发生事件相关信息的对象,对应用户操作的不同种类有不同类型的事件类(对象)与之对应。
事件源:是指一个事件的产生者。例如,当在一个按纽(Button)上单击鼠标时就会产生一个ActionEvent的事件对象,事件源就是该按纽。通过ActionEvent对象的有关方法可以获得该事件的有关信息,
事件监听器:用来调用事件处理方法的对象。
6. JDK1.1的事件处理机制是什么?其原理是什么?
答:JDK1.1的事件处理机制采用委托事件模型来处理事件。委托事件模型的原理如下:
? 确定事件源。图形界面的每个可能产生事件的组件称为事件源,不同事件源上发生的事件的种类不同。 ? 注册事件源。如果希望事件源上发生的事件被程序处理,就要把事件源注册给能够处理该事件源上那种类型的事件监听者。监听者是属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口”。 ? 委托处理事件。当事件源上发生监听者可以处理的事件时,事件源把这个事件作为实际参数传递给监听者中负责处理这类事件的方法,该方法根据事件对象中封装的信息来确定如何响应这个事件。 二、编程题
1.编写代码,创建标题为“基本GUI”编程的窗口。 参考代码如下: import java.awt.*;
class NewFrame extends Frame { public static void main(String args[]) { NewFrame mainFrame = new NewFrame(); mainFrame.setTitle(\基本GUI编程\ mainFrame.setSize(200, 200); mainFrame.setVisible(true); } }
2.编写代码,创建标题为“使用面板的基本GUI编程”的面板。 参考代码如下: import java.awt.*;
class NewPanel extends Panel {
public static void main(String args[]) { NewPanel np=new NewPanel(); Frame f=new Frame(\使用面板的基本GUI编程!\ f.add(np); f.setSize(300,200); f.setVisible(true); } }
3.创建一个窗口,包括一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。请使用两种以上的布局管理器布局窗口的组件。
参考代码如下: import java.awt.*;
import java.awt.event.*;
public class CopyText extends Frame implements ActionListener{ Panel p; Label l; TextField t; Button b;
public CopyText(){ p=new Panel();
l=new Label(\ \ l.setBackground(Color.BLUE); t=new TextField(20);
b=new Button(\复制文本\ p.add(t); p.add(l);
add(\ add(\
b.addActionListener(this); //给按钮注册活动事件监听器 setVisible(true);
this.setTitle(\文本复制示例\ setSize(400,200); pack(); }
public void actionPerformed(ActionEvent e){ if(e.getSource()==b)
{
l.setText(t.getText()); } }
public static void main(String args[]){ CopyText ct=new CopyText(); } }
4.编写一个程序,创建一个AWT面板,该面板包含标有三个不同颜色名称的三个按钮,单击每个按钮时应使窗口的背景色显示为相应的颜色。
import java.awt.*;
import java.awt.event.*;
class ChangeBgColor extends Frame implements ActionListener{ Panel p;
Button btn1,btn2,btn3; ChangeBgColor(){ p=new Panel();
btn1= new Button(\红色\ btn2=new Button(\蓝色\ btn3=new Button(\黄色\ this.add(p); p.add(btn1); p.add(btn2); p.add(btn3);
btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); }
public static void main(String args[]) {
ChangeBgColor mainFrame = new ChangeBgColor(); mainFrame.setTitle(\基本GUI编程\ mainFrame.setSize(200, 200); mainFrame.setVisible(true); }
public void actionPerformed(ActionEvent e){ if (e.getSource()==btn1) { p.setBackground(Color.red); }
else if(e.getSource()==btn2){ p.setBackground(Color.blue); } else
p.setBackground(Color.yellow); } }
第6章习题解答
一、简答题
1.说明文本框和标签之间的区别?
答:文本框定义了一个单行条形文本区,可以输出任何基于文本的信息,也可以接受用 …… 此处隐藏:2748字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




