- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AWT事件模型 Contents 为学生信息管理管理系统设计一个登陆界面,接受用户输入的账号和密码。界面如图所示: ? ? 所需要的知识点 常用组件和容器的使用方法及功能 AWT事件处理模型 AWT事件模型 设计一个图形界面,不仅仅需要画出窗口并添加组件,更重要的是为组件设计相应程序,使组件能够响应并处理用户的操作,例如单击按钮,等等 当Java程序运行时,如果用户在界面上进行某种操作,系统捕获这些操作会引发相应的事件(Event),然后执行相应的事件处理程序。 Java中定义了许多事件类,用来描述不同的用户行为 AWT事件模型 事件的来源 事件的来源是用户的操作 每当用户在AWT组件上进行某种操作,例如用鼠标单击按钮,敲击键盘等,AWT事件处理系统会生成一个相应的事件对象 事件对象描述的是用户所执行的操作,用户操作不同,事件对象的内容也会不同。 AWT事件模型 事件的处理 事件的处理由事件处理程序完成 每个AWT组件都有自己的事件处理程序 当事件对象生成时,AWT事件处理系统就会将这个事件对象传递给所涉及的组件,由它们的事件处理程序进行相应处理 AWT事件模型 事件的模型 事件处理模型,是指事件产生后事件对象的传递模型 JDK 1.0 使用的是层次模型(hierarchal) JDK 1.1 使用的是委托模型(delegation) 层次模型 JDK 1.0使用的层次事件处理模型主要基于容器和组件的包含关系 一个事件对象产生之后,首先被传递给直接相关的组件,该组件可以对事件进行处理,也可以忽略。 若组件没有对事件进行处理,则AWT事件处理系统会将事件对象继续向上传递给组件所在的容器 若容器将事件忽略,则AWT事件处理系统会将事件再继续向上传递给容器所在的容器 层次模型 示例: 层次模型 示例: 层次模型 层次模型 层次模型 层次模型 层次事件处理的优点有: 简单、容易理解,基于面向对象的原理 层次事件处理的缺点有: 事件对象只能被引起该事件的组件或包含它的容器捕获,而其他组件无法处理该事件 没有简单的事件过滤方法,要进行事件处理,需要创建某个组件的子类,否则就必须为最外层的容器编写复杂的handleEvent()及与之相关的方法 委托模型 JDK 1.1使用的委托事件处理模型的基本思想是 用户操作引发的事件仍然传递给相应的组件 为了接收事件对象并进行事件处理,组件必须注册一个事件处理程序(事件监听程序Listener)。 事件监听程序可以定义在组件所在的类中,也可以定义在其他类中。对事件的处理,由组件委托给事件监听程序所在的类来完成。 事件的监听程序可以定义在组件所在的类中,也可以定义在其他的类里; 而对事件的处理,则由组件委托给事件监听程序所在的类来完成。 在委托事件处理模型下,事件对象只被传递给已经注册的监听程序。 根据用户操作的不同,事件也被分成不同类型。 每种事件都有一个对应的监听程序类,这个监听程序类应实现了相应的监听程序接口(Listener interface),并且定义了事件对象的接收和处理方法。 委托模型 在委托事件处理模型中,Java根据不同的用户操作,产生不同的事件类(Event),如窗口事件类(Window Event)、单击事件类(ActionEvent)等,并为每个事件类定义了事件监听程序(Listener) 这些事件监听程序的声明在对应的监听程序接口中,例如WindowListener、ActionListener等。 委托模型 示例: AWT事件处理模型 在事件处理的过程中,主要涉及三类对象: Event-事件:用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 Event Source-事件源:事件发生的场所,通常就是各个组件,例如按钮Button。 Event handler-事件处理者:接收事件对象并对其进行处理的对象。 AWT事件处理模型 事件源、事件、事件处理者之间的关系 授权处理机制 不同的事件源上可能发生不同的事件:例如一个按钮能够发生ActionEvent类型的事件,而一个窗口能够发生WindowEvent类型的事件 同一个事件源上可能发生多种事件:例如在Canvas对象上既可能发生鼠标事件,也可能发生键盘事件 java采取授权处理机制(Delegation Model):事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。 授权处理机制 授权模型把事件的处理委托给外部的处理实体进行处理,实现了将事件源和监听器分开的机制。 事件处理者(监听器) 事件处理者(监听器)通常是一个类,负责处理一类事件 该类如果要能够处理某种类型的事件,就必须实现与该事件类型相对应的接口。 例如下
您可能关注的文档
最近下载
- (2020.12.27版)图纸会审-电气图纸会审记录(12月27日).doc VIP
- JBT 7512.1-2014 圆弧齿同步带传动 第1部分:带.pdf VIP
- 20道古茗茶饮茶饮师岗位常见面试问题含HR常问问题考察点及参考回答.docx VIP
- NB-T+11465—2023+煤矿采动区地面L型顶板水平井抽采瓦斯技术方法.pdf VIP
- 电力面试题及答案.doc VIP
- 基于IPD的研发项目管理.docx VIP
- 新疆南疆冬小麦干播湿出高产栽培技术规程.docx VIP
- NB-T+11466—2023+采动区地面瓦斯抽采直井施工技术规范.pdf VIP
- 常微分方程的发展史.doc
- 实验室使用安全测试题及答案.pdf VIP
原创力文档


文档评论(0)