第十一讲_面向对象之类与对象_-_图形界面程序设计_第1页
第十一讲_面向对象之类与对象_-_图形界面程序设计_第2页
第十一讲_面向对象之类与对象_-_图形界面程序设计_第3页
第十一讲_面向对象之类与对象_-_图形界面程序设计_第4页
第十一讲_面向对象之类与对象_-_图形界面程序设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象之图形界面设计 2 回顾 窗口程序设计的步骤 说一说常见的顶层容器 中间容器 功能组件的类名说一说常见的布局管理器 3 重点 事件响应实现的机制单击事件的响应鼠标事件的响应实现一个简单运算器实现一个捕捉不到的标签的小程序难点 事件类事件监听器 本章目标 事件响应模式 有事件发生了 一首歌响起 一条小狗走过来 能够捕捉声音事件的器官 耳朵 并对事件响应 能够捕捉光线事件的器官 眼睛 并对事件响应 一个人 对应的事件监听器 接收事件的对象 对事件的响应 听到歌晃起脑袋 看到小狗来赶紧跑 装上耳朵 装上眼睛 事件响应模式 有事件发生了 单击操作 ActionEvent 鼠标进入 MouseEntered 能够捕捉单击事件的类 ActionListenter 并对事件响应 能够捕捉鼠标事件的类 MouseMotionListener 并对事件响应 一个按钮 对应的事件监听器 接收事件的对象 对事件的响应 Dosomething Dosomething 装上ActionListenter对象 装上MouseMotionListener对象 事件类 事件既是基础 又是联系各个部分的桥梁 首先 有不同类型的事件可以被组件接收到 不同类型的组件会能够接收事件类型不同 不同类型的事件由不同的Java类来表示 基类是java util EventObject 所有的事件都是从它继承而来的 事件通常包括用户事件和系统事件 其处理机制会涉及到java awt event和javax swing event两个包 包括了如ActionEvent ItemEvent MouseEvent和KeyEvent等 第三方内容也可加入其中 每种事件类都有一个对应的监听接口 监听接口的功能是能够监听到该类事件的发生 并且能够对监听到的事件做出响应 接口中声明了一个或多个抽象的事件处理方法 凡是需要接收并处理事件类对象的类 都需要实现相应的接口 在这些方法体中定义响应的操作 事件类 事件对象的事件源 监听器和管理方法汇总表 提示 事件是xxxxxEvent对应的监听器接口就是xxxxxListener 事件监听器接口对象中定义的方法 提示 监听器对特定事件的响应操作应该定义在某特定的方法中 事件响应操作步骤 第一步 确定要响应的事件 ActionEvent MouseEvent等中的哪一种 第二步 创建事件监听器类 implements拟响应事件对应的监听接口 将要响应的操作定义在监听器接口中定义的对应方法体内 第三步 根据第二步创建一个具体的监听器对象 然后为接收事件的组件添加上该事件监听器对象 调用组件的addXXXListener方法来完成 一个例子 为窗口中的按钮添加单击事件响应 当单击该按钮的时候 在控制台输出 您单击了按钮组件 的信息 分析 界面实现过程略 1 事件是ActionEvent 2 对应的监听器接口是ActionListener 响应的操作是输出一行信息 3 监听器安装在按钮组件上 一个例子 publicclassActionDemo JFramejf JButtonjb ActionDemo jf newJFrame ActionDemo jf setSize 320 200 jf setLayout newBorderLayout jf setVisible true jb newJButton 按钮 jf add jb North MyListenerl newMyListener jb addActionListener l publicstaticvoidmain String args newActionDemo classMyListenerimplementsActionListener publicvoidactionPerformed ActionEvente System out println 您单击了按钮组件 第一步 创建监听器类 其关键是implementsActionListener接口 第二步 在actionPerformed方法中创建响应事件操作 注意 不同事件的响应操作应该写在其对应的方法体中 第三步 创建一个监听器对象 第四步 为组件jb添加上该监听器对象 思考一下 能否让ActionDemo类自己implementsActionListener 能否让多个按钮使用同一个监听器对象 一个例子 为窗口中的按钮添加单击事件响应 当单击该按钮的时候 在控制台输出 您单击了按钮组件 的信息 当鼠标进入主窗口的是时候 在控制台输出 鼠标已经进入主窗口 并且显示鼠标当时的坐标 分析 界面实现过程略 1 事件是MouseEvent 2 对应的监听器接口是MouseListener 响应的操作是输出一行信息 3 监听器安装在JFrame组件上 再一个例子 publicclassActionDemo JFramejf JButtonjb ActionDemo jf newJFrame ActionDemo jf setSize 320 200 jf setLayout newBorderLayout jf setVisible true jb newJButton 按钮 jf add jb North MyListener2l2 newMyListener2 jf addActionListener l2 publicstaticvoidmain String args newActionDemo classMyListener2implementsMouseListener publicvoidmouseEntered MouseEvente System out println 第一步 创建监听器类 其关键是implementsMouseListener接口 第二步 在mouseEntered方法中创建响应事件操作 注意 不同事件的响应操作应该写在其对应的方法体中 第三步 创建一个监听器对象 第四步 为组件jf添加上该监听器对象 思考一下 能否让一个监听器拥有多个事件的监听功能 注意 只要该类实现了相应的监听器接口就拥有了监听该类事件和响应事件的能力 应用程序中事件处理代码的编写方式小结1实现事件监听器接口对象方式在需要进行事件接收和响应的对象定义过程中 若使该对象实现待处理事件监听接口对象方式 不仅能够处理该事件对象类型的所有事件消息 而且能够使程序代码更加紧凑 例子 ActionDemo java 2添加事件监听器方式采用为GUI组件对象添加事件监听器的方式 对事件消息进行响应和处理的Java应用程序代码编写方法 相当于调用一个事件监听器方法并利用一个事件监听接口匿名类对象作为方法的一个引用 例子 ActionDemo2 java 需要理解匿名类 3采用事件适配器方式应用事件适配器对象作为事件消息的捕获机制 例子 ActionDemo3 java 一个监听器类只能监听并响应一类事件 事件处理代码其它编写方式 了解 练一练 图形界面程序设计 实验内容 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论