第9章GUI程序设计第2讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二讲 交互与事件处理 事件处理模型 委托事件处理模型 Java用来实现图形用户界面交互的机制 处理流程: 用户操作界面组件;鼠标点击等 该组件(事件源)产生某种信号(事件) 事先注册给这个组件(事件源)的一个监听器会接收到这个信号(事件),并进行处理 需要弄清楚的问题 事件源与事件的关系 什么是事件?什么是事件源? 有哪些事件源?他们在什么情况下会产生什么样的事件? 如何实现监听器?(关键问题) 事件 事件:可以定义为程序发生了某些事情的信号。 外部用户行为,如移动鼠标、点击鼠标按钮和按下键盘等,可以引发事件。操作系统,如时钟等,也可以引发事件,程序可以响应或忽略事件。 事件源:在其上发生事件的GUI组件被称为事件的源对象。例如,按钮是点击按钮事件的源对象。 事件是事件类的实例,事件类的根类是java.util.EventObject。 Event 类结构体系 事件源与事件关系 事件委托处理模型 需要弄清楚的问题 事件源与事件的问题 事件源就是GUI组件,在画界面时创建完成 事件由事件源自动产生 如何实现监听器? 每一种事件类都有对应的监听接口,要实现监听器就需要实现相应的监听接口。 实现监听接口就需要实现监听接口中的事件处理方法。 事件、事件监听器和监听器方法 为事件源注册监听器 事件源产生的某种事件只能被事先注册给该事件源的监听器监听到。 注册方法: 每个事件源都有若干个注册方法来完成注册 注册方法一般为:addXXXListener 比如:JButton,能够产生ActionEvent,对应的监听接口为ActionListener,那么,JButton的注册方法为addActionListner 动作事件 动作事件用于表示需要执行某种命令的信号。 按钮在用鼠标点击时会产生ActionEvent事件。 源程序:TestActionEvent.java 动作事件类:ActionEvent 常用方法: public Object getSource() 获得产生这个事件的事件源对象 动作事件 动作事件监听接口:ActionListener 事件处理方法 public void actionPerformed(ActionEvent e) 事件源的注册方法 public void addActionListener(ActionListener lis) 练习 实现一个图形化用户界面,在框架上顺序摆放三个按钮:Button1、Button2和Button3,在点击按钮时在控制台上显示哪个按钮被点击。 窗口事件处理 JFrame以及其他Window类的子类都可以产生WindowEvent事件。 当窗口打开、正在关闭、关闭、激活、失效、最小化和还原时都会产生WindowEvent。因此,对应的WindowListener中需要有7个事件处理方法。 示例:TestWindowEvent.java 窗口事件处理 窗口事件类:WindowEvent 窗口事件监听接口:WindowListener public void windowOpened (WindowEvent e) 用于处理窗口打开时情况。 public void windowClosing (WindowEvent e) 用于处理窗口正在关闭时情况。 public void windowClosed (WindowEvent e) 用于处理窗口关闭时情况。 public void windowActivated (WindowEvent e) 用于处理窗口激活时情况。 public void windowDeactivated (WindowEvent e) 用于处理窗口失效时情况。 public void windowIconfied (WindowEvent e) 用于处理窗口最小化时情况。 public void windowDeiconfied (WindowEvent e) 用于处理窗口还原时情况。 窗口事件处理 事件源的注册方法 public void addWindowListener(WindowListener listener) 注意: 在实现监听接口时,监听器必须实现接口中所有的事件处理方法。 事件裁剪类(适配器) java.awt.event.*包中 “Adapter”类,称为事件剪裁类。 java.awt.event.*包中的每个包容方法超过一个的Listener监听者接口都有一个Adapter类与之对应,例如对应MouseListener接口有一个MouseAdapter类。 这些Adapter类就是把它们对应接口中的所有方法用空的方法体实现。这样我们的程序就可以以Adapter类为父类,继承并覆盖这些空方法中对我们有用的

文档评论(0)

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

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

1亿VIP精品文档

相关文档