网站大量收购闲置独家精品文档,联系QQ:2885784924

第7章 Java事 件处理-ok.pptVIP

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.4.4 窗口事件处理 在窗口系统中,当组件被移动或改变大小时将触发相应的事件。 SWT通过ControlListener监听窗口控制事件。主要方法为: public void controlMoved(ControlEvent e); public void controlResized(ControlEvent e); 其中, controlMoved表示组件被移动事件的响应方法, controlResized表示组件被改变大小事件的响应方法, ControlEvent为系统传入的窗口控制事件的参数,用户可以通过ControlEvent参数找到相应的组件。 代码清单7-5 7.4.5 选择与关闭事件处理 当窗口程序中拥有按钮或者菜单时,则可以创建选择监听器来响应按钮或者菜单被选中的事件。主要通过实现SelectionListener接口来响应选择组件事件,其主要方法为: public void widgetSelected(SelectionEvent e); public void widgetDefaultSelected(SelectionEvent e); 其中, widgetSelected表示组件被选择事件的响应方法, widgetDefaultSelected表示组件默认选择事件的响应方法, SelectionEvent为系统传入的选择事件的参数。 代码清单7-6 7.4.6 其他常用事件处理(略) SWT中为了实现特定的功能,很多组件都提供了特定事件的响应,下面将通过实例介绍HelpListener、VerifyListener和ModifyListener 3个特定的事件监听器。 HelpListener监听器通过helpRequested(HelpEvent e)方法响应用户的帮助请求事件,当用户在组件获得焦点后按【F1】键将触发此事件。 VerifyListener监听器通过verifyText(VerifyEvent e)方法响应校验输入事件。此监听器只对文本输入校验,当用户输入了数据后,verifyText方法将通过设置VerifyEvent中的doit属性判断输入是否正确,从而确定修改是否有效。doit属性为true时修改有效。 ModifyListener监听器通过modifyText(ModifyEvent e)方法响应文本被修改的事件。此监听器只对文本输入校验。 注意:如果VerifyListener监听器和ModifyListener监听器同时存在的话,会先响应校验输入事件,如果校验成功再响应修改事件。 在范例7-7中,用户可以输入华氏温度和摄氏温度,通过监听器判断输入是否正确及计算相应的摄氏温度和华氏温度,另外,还可以按【F1】键获得当前组件的信息 。 本章小结 在上章学习了SWT界面的相关组件后,本章接着介绍了SWT的事件处理过程; 在此基础上介绍了SWT的两种类型的监听器:类型化监听器和非类型化监听器。 此外,本章还详细介绍了SWT的常见事件处理,包括键盘事件处理、鼠标事件处理、焦点事件处理、窗口事件处理、选择与关闭事件处理以及HelpListener、VerifyListener和ModifyListener 三个特定的事件处理。 * 第7章 Java事件处理 计算机科学与技术教研室 龚平 SWT事件处理过程 Typed和Untyped监听器 适配器Adapter 常见SWT事件处理 * 本章主要内容 7.1 SWT事件处理过程 在窗口系统中,程序一般都是以事件驱动的。 JDK1.1之后Java采用的是事件源——事件监听者模型 引发事件的对象称为事件源 接收并处理事件的对象是事件监听者 无论应用程序(Application)还是小程序(Applet)都采用这一机制。 * SWT的事件模型和Java标准的AWT基本相同,其事件处理过程如图所示: 该处理过程以操作系统的事件队列开始,该队列记录并以列表的形式列出用户的所有动作。 一旦当一个SWT应用程序开始运行,它就利用readAndDispatch()方法对该队列检索排序,并检查和处理底层的操作系统消息队列。 如果它发现某些东西是和用户动作有关的,就会将该事件送达顶层的Shell对象,由Shell对象某个组件来接收这一事件。 Shell把该事件送达用户想要作用的组件,即把信息传达到相关的用户界面,这就是一个监听器。 监听器的某一个方法执行必要的过程或是调用另一个方法来处理用户的动作,被称为一个事件的处理器。 7.2 Typed和Untyped监听器 SWT提供了两种类型的监听器: 类型化监听器(Typed Listener) 非类型化监听器(Untyped Listener)。

文档评论(0)

smashing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档