admin 管理员组

文章数量: 887031


2024年1月13日发(作者:广告联盟广告价格)

Java程序设计

实验报告

题目:GUI标准组件及事件处理

学院:计算机科学学院

专业:08教育技术学01班

姓名:赵小龙

学号:4

GUI标准组件及事件处理

一、实验目的

掌握常用GUI控制组件及其事件处理。

二、实验内容

1.编程包含一个标签和一个按钮,单击按钮时,标签的内容在“你好”和“再见”之间切换

运行结果:

2.编程包含一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为“普通”、“黑体”和“斜体”。选择文本标签为“普通”的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为“黑体”的单选按钮时,普通按钮中的文字的字体为黑体,选择文本标签为“斜体”的单选按钮时,普通按钮中的文字的字体为斜体。

3.编程创建一个Frame,实现窗口的监听器接口。

三、思考题

1.Java的事件处理机制是怎样的?

答:事件处理机制

 事件处理器(事件处理方法)

事件处理器是一个接收事件对象并进行相应处理的方法。事件处理器包含在一个类中,这个类的对象负责检查事件是否发生,若发生就激活事件处理器进行处理。

 事件监听器接口与事件监听器类

事件监听器类

a. 包含事件处理器,并负责检查事件是否发生,若发生就激活事件处理器进行处理的类叫做事件监听器类。其实例就是事件监听器对象。事件监听器类必须实现事件监听器接口或继承事件监听器适配器类。

b. 事件监听器接口定义了处理事件必须实现的方法。事件监听器适配器类是对事件监听器接口的简单实现。目的是为了减少编程的工作量。

c. 事件监听器接口和事件监听器适配器类也都包含在和包中。

注册事件监听器

 为了能够让事件监听器检查某个组件(事件源)是否发生了某些事件,并且在发生时激活事件处理器进行相应的处理,必须在事件源上注册事件监听器。这是通过使用事件源组件的以下方法来完成的:

addXxxListener(事件监听器对象)

Xxx对应相应的事件类。

事件、事件监听器接口、事件监听器类:

 每一类事件有一个相应的事件监听器接口,该接口定义了接收和处理事件的抽象方法。实现该接口的类,就是监听器类。其对象可作为监听器对象向相应的组件注册。

 事件的类名通常为:XxxEvent

 对应的事件监听器接口名通常为:XxxListener

 一个监听器接口定义了一种以上的抽象事件处理方法(事件处理器)。

 事件监听器类实现事件监听器接口,其类名可以由我们自己取。事件监听器类需要我们自己编写。

一个组件可以注册一个或多个监听器对象,事件对象只向已注册的监听器对象报告事件的发生。

2.若一个数据只有两种取值可能,采用哪种组件表示比较合适?如果有二种到三种取值可能,采用哪种合适?如果取值的可能大于5个,采用哪种组件合适?

答:基本控制组件是图形用户界面的最小单位之一,它里面不再包含其他成分。基本控制组件的作用是完成与用户的一次交互。目前常用的基本控制组件有:

标签(Label)、文本编辑区(TextField、TextArea)、按钮(Button)、复选框(Checkbox)、单选按钮(CheckboxGroup、Checkbox)、下拉列表(List或Choice)。

如果这两到三种取值是互斥的话,采用单选按钮表示比较合适,否则采用复选按钮表示;如果5种以上的取值只能多选一的话,采用Choice下拉列表,否则采用List下拉列表。

3.事件监听器和事件适配器的关系是什么?

答:监听器是接口,而适配器是个实现类。可以认为适配器仅仅是为了编程的方便而加入的。适配器实现了它所对应的监听器接口,“实现”的方式就是为每一个接口方法提供一个空的实现体,所以它没有任何实际作用。 但有时候一个接口有好多接口方

法,编程时一个一个地实现,有用的逻辑代码和无用的仅仅为了语法需要的代码就杂糅在一起了,很不好,这是就应该从适配器继承而不是直接实现从监听器接口,从而仅仅需要实现你所感兴趣的事件响应方法就可了。

4.编程包含两个按钮和一个标签,将发生单击事件的按钮上的文本信息显示在标签中。

运行结果:

四、实验心得

通过这次实验我了解到常用GUI控制组件及其事件处理,以前对于这方面的了解的非常少,几乎没有了解,我对这次实验的内容也非常感兴趣,在一些问题上自己也有一定的见解,对java运行环境的了解程度和代码的书写程度也有较大的进步,从这次实验我学到了很多以前没有接到的知识与内容,这将对我以后的学习过程中有很大程度的帮助,也是我在以后学习中的优势,我以后会更加努力学习这方面的知识,使自己对这方面的了解程度更加的专业,能够运用到自己以后的生活中。


本文标签: 事件 监听器 组件 实现 按钮