Java程序设计基础__第14章_事件处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
14.2 Java语言的事件类
每当在事件源上发生一个操作时,就会产生相应 的事件对象。 事件源与其产生的事件对象的对应关系见教材表 14.2。
18
14.2 Java的事件处理类
Java语言中处理事件的具体方法:
确认触发的事件,取得事件类的名字,如ActionEvent ,去掉其中的“Event”字样。在剩下的部分加入 “Listener”,这就是在类里需要实现的事件监听者 接口。
事件处理程序:Java语言中包含了许多用来处理 事件的接口和类。用于事件处理的方法就声明在 这些类或接口中。这些包含有事件处理方法的接 口称为监听者接口,包含有事件处理方法的类称 为适配器类。监听者负责处理事件源发生的事件 ,为了处理事件源发生的事件,监听者会自动调 用一个方法来处理事件。这些处理事件的方法就 是事件处理程序。
让包含“事件源”的对象来担任监听者 如何编写事件处理程序?见教材中例13.1。 为组件增加事件监听者的方法:由于每一个事 件类型都有一个相应的监听者接口,通常名为 XXXListener,其中XXX代表它所处理的事件 类型。在定义类时要实现事该件接源对口。 监听者有专门的方法象用.ad于听dX处者XX对理Li象事st)e件r(,监具体在哪 个组件上发生事件后由哪个监听者处理,必须 事前用“组件名.addXXXLister( )”进行注册。
7
14.1 委托事件模型
总的来说,委托事件模型是由产生事件的对象( 事件源)、事件对象以及事件监听者对象之间的关系 所组成。而其中的“事件监听者”就是用来处理事件 的对象,也就是说,监听者对象会等待事件的发生, 并在事件发生时收到通知。事件源会在事件产生时, 将相关于该事件的信息封装在一个对象中,称之为“ 事件对象”,并将该对象传递给事件监听者,监听者 就可以根据该“事件对象”内的信息决定适当的处理 方式,即调用相应的事件处理程序。
事件源(event source):能够产生事件的对象。如 按钮、鼠标、文本框、键盘等。
事件监听者(listener):监听者有专门的方法来处
理事件,事件监听者是一个对事件源进行监视的
对象,当事件源上发生事件时,事件监听者能够
监听到,并调用相应的方法对发生的事件做出相
应的处理。
4
14.1 委托事件处理
• 为了让“事件源”(如按钮)知道要把事件信息传 递给哪一个“事件监听者”,事先必须把“事件监 听者”向“事件源”注册(register),这个操作也就 是告知“事件源”要把事件信息传递给它。图13.1 说明了“委托事件模型”的工作原理。
9
14.1 委托事件模型
委托事件模型的工作原理:
10
14.1 委托事件模型
5
14.1 委托事件பைடு நூலகம்理
Java语言规定:为了让监听者能对事件源发生的 事件进行处理,创建该监听者对象的类必须声明 实现相应的监听者接口或继承相应的适配类,即 必须在类体中具体定义该接口中所有方法的方法 体或覆盖适配器类中的相应方法,以供监听者自 动调用相应事件处理方法来完成对应事件的任务 ,这些处理事件的方法就是事件处理程序。
8
14.1 委托事件模型
• 例如,当按钮被鼠标单击时,会触发一个“操作事 件”(Action event),Java程序就会产生一个“事 件对象”来表示这个事件,然后把这个“事件对象 ”传递给“事件监听者”,“事件监听者”再依据 “事件对象”的种类把工作指派给事件处理者,即 事件处理程序。在这里按钮就是一个事件源。
14
15
14.2 Java语言的事件类
java.awt.event 包和javax.swing.event包中定义了许 多事件类用于处理各种用户操作所产生的事件。 事件类的继承关系见教材图14.3。
16
14.2 Java语言的事件类
• 对于每一个事件类,几乎都有相应的事件监听者 。监听者接口多数都是继承自 java.util.EventListener接口。图14.4列出了事件监 听者接口之间的继承关系。 事件类、事件监听者接口和监听者接口中提供的 方法关系列表见教材中表14.1。
6
14.1 委托事件模型
委托事件模型:是将事件源(如命令按钮)和对事 件做出的具体处理(利用监听者实例来对事件进行 具体的处理)分离开来(。jav一a.般a事wt件情.对e况v象en下t),,表组件(事件 源)不处理自己的事件示,事而件是的内将容事,件内处部封理委托给外 部的处理实体(监听者装)了。一用当个等对事信事件息件。发源生的引时,产生事 件的对象即事件源,会把此“信息”转给事件监听 者处理的一种方式,而这里所指的“信息”事实上 就是java.awt.event事件类库里某个类所创建的对象, 我们把它称为“事件对象”(Event object)。事件 对象表示事件的内容,对象内部封装了一个对事件 源eveutSource的引用和其他信息。
通常一个键盘或鼠标操作会引发一个系统预先定 义好的事件,用户只需编写代码,定义每个特定 事件发生时程序应做出何种响应即可。
3
14.1 委托事件处理
事件(event):用户使用鼠标或键盘对窗口中的组 件进行交互时所发生的事情。对这些事件做出响 应的程序,称为事件处理程序(Event Handler)。
第14章 事件处理
L/O/G/O
1
本章主要内容
委托事件模型
担任监听者的条件
Java语言的事件类 监听者接口与适配器类 事件及相应的事件处理
菜单栏设计
工具栏设计师
定时器
2
14.1 委托事件模型
事件处理:为组件设计相应的程序,使组件能够 响应并处理用户的操消息作处。理和事件驱 Java 程序一旦构建动技完术是G的面UI主向,要对就特象不编点再程。工作,而是等 待用户通过鼠标、键盘给它通知(消息驱动), 它再根据这个通知的内容进行相应的处理(事件 驱动)。
11
14.1 委托事件模型
定义内部类来担任监听者 通常将实现接口的类定义在主类里,使之成为 它的内部类(内部类可以访问外部类的所有成 员) 见教材例14.2。
12
13
14.1 委托事件模型
使用匿名内部类来担任监听者 使用匿名内部类充当监听者这种方式,使程序看 起来比较清楚明了。
见教材例14.3。
14.2 Java语言的事件类
每当在事件源上发生一个操作时,就会产生相应 的事件对象。 事件源与其产生的事件对象的对应关系见教材表 14.2。
18
14.2 Java的事件处理类
Java语言中处理事件的具体方法:
确认触发的事件,取得事件类的名字,如ActionEvent ,去掉其中的“Event”字样。在剩下的部分加入 “Listener”,这就是在类里需要实现的事件监听者 接口。
事件处理程序:Java语言中包含了许多用来处理 事件的接口和类。用于事件处理的方法就声明在 这些类或接口中。这些包含有事件处理方法的接 口称为监听者接口,包含有事件处理方法的类称 为适配器类。监听者负责处理事件源发生的事件 ,为了处理事件源发生的事件,监听者会自动调 用一个方法来处理事件。这些处理事件的方法就 是事件处理程序。
让包含“事件源”的对象来担任监听者 如何编写事件处理程序?见教材中例13.1。 为组件增加事件监听者的方法:由于每一个事 件类型都有一个相应的监听者接口,通常名为 XXXListener,其中XXX代表它所处理的事件 类型。在定义类时要实现事该件接源对口。 监听者有专门的方法象用.ad于听dX处者XX对理Li象事st)e件r(,监具体在哪 个组件上发生事件后由哪个监听者处理,必须 事前用“组件名.addXXXLister( )”进行注册。
7
14.1 委托事件模型
总的来说,委托事件模型是由产生事件的对象( 事件源)、事件对象以及事件监听者对象之间的关系 所组成。而其中的“事件监听者”就是用来处理事件 的对象,也就是说,监听者对象会等待事件的发生, 并在事件发生时收到通知。事件源会在事件产生时, 将相关于该事件的信息封装在一个对象中,称之为“ 事件对象”,并将该对象传递给事件监听者,监听者 就可以根据该“事件对象”内的信息决定适当的处理 方式,即调用相应的事件处理程序。
事件源(event source):能够产生事件的对象。如 按钮、鼠标、文本框、键盘等。
事件监听者(listener):监听者有专门的方法来处
理事件,事件监听者是一个对事件源进行监视的
对象,当事件源上发生事件时,事件监听者能够
监听到,并调用相应的方法对发生的事件做出相
应的处理。
4
14.1 委托事件处理
• 为了让“事件源”(如按钮)知道要把事件信息传 递给哪一个“事件监听者”,事先必须把“事件监 听者”向“事件源”注册(register),这个操作也就 是告知“事件源”要把事件信息传递给它。图13.1 说明了“委托事件模型”的工作原理。
9
14.1 委托事件模型
委托事件模型的工作原理:
10
14.1 委托事件模型
5
14.1 委托事件பைடு நூலகம்理
Java语言规定:为了让监听者能对事件源发生的 事件进行处理,创建该监听者对象的类必须声明 实现相应的监听者接口或继承相应的适配类,即 必须在类体中具体定义该接口中所有方法的方法 体或覆盖适配器类中的相应方法,以供监听者自 动调用相应事件处理方法来完成对应事件的任务 ,这些处理事件的方法就是事件处理程序。
8
14.1 委托事件模型
• 例如,当按钮被鼠标单击时,会触发一个“操作事 件”(Action event),Java程序就会产生一个“事 件对象”来表示这个事件,然后把这个“事件对象 ”传递给“事件监听者”,“事件监听者”再依据 “事件对象”的种类把工作指派给事件处理者,即 事件处理程序。在这里按钮就是一个事件源。
14
15
14.2 Java语言的事件类
java.awt.event 包和javax.swing.event包中定义了许 多事件类用于处理各种用户操作所产生的事件。 事件类的继承关系见教材图14.3。
16
14.2 Java语言的事件类
• 对于每一个事件类,几乎都有相应的事件监听者 。监听者接口多数都是继承自 java.util.EventListener接口。图14.4列出了事件监 听者接口之间的继承关系。 事件类、事件监听者接口和监听者接口中提供的 方法关系列表见教材中表14.1。
6
14.1 委托事件模型
委托事件模型:是将事件源(如命令按钮)和对事 件做出的具体处理(利用监听者实例来对事件进行 具体的处理)分离开来(。jav一a.般a事wt件情.对e况v象en下t),,表组件(事件 源)不处理自己的事件示,事而件是的内将容事,件内处部封理委托给外 部的处理实体(监听者装)了。一用当个等对事信事件息件。发源生的引时,产生事 件的对象即事件源,会把此“信息”转给事件监听 者处理的一种方式,而这里所指的“信息”事实上 就是java.awt.event事件类库里某个类所创建的对象, 我们把它称为“事件对象”(Event object)。事件 对象表示事件的内容,对象内部封装了一个对事件 源eveutSource的引用和其他信息。
通常一个键盘或鼠标操作会引发一个系统预先定 义好的事件,用户只需编写代码,定义每个特定 事件发生时程序应做出何种响应即可。
3
14.1 委托事件处理
事件(event):用户使用鼠标或键盘对窗口中的组 件进行交互时所发生的事情。对这些事件做出响 应的程序,称为事件处理程序(Event Handler)。
第14章 事件处理
L/O/G/O
1
本章主要内容
委托事件模型
担任监听者的条件
Java语言的事件类 监听者接口与适配器类 事件及相应的事件处理
菜单栏设计
工具栏设计师
定时器
2
14.1 委托事件模型
事件处理:为组件设计相应的程序,使组件能够 响应并处理用户的操消息作处。理和事件驱 Java 程序一旦构建动技完术是G的面UI主向,要对就特象不编点再程。工作,而是等 待用户通过鼠标、键盘给它通知(消息驱动), 它再根据这个通知的内容进行相应的处理(事件 驱动)。
11
14.1 委托事件模型
定义内部类来担任监听者 通常将实现接口的类定义在主类里,使之成为 它的内部类(内部类可以访问外部类的所有成 员) 见教材例14.2。
12
13
14.1 委托事件模型
使用匿名内部类来担任监听者 使用匿名内部类充当监听者这种方式,使程序看 起来比较清楚明了。
见教材例14.3。