Swing 图形用户界面.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文档。上传文档
查看更多
Swing 图形用户界面

常用的事件处理 5.焦点事件处理 焦点事件是由于键盘或鼠标或程序本身状态的变化导致一些低级组件如JButton获得或失去键盘的焦点而产生。对于焦点事件有两种类型:持久性和暂时性。持久性的焦点事件是指焦点从一个组件到另外一个组件;而暂时性的焦点事件是指由于操作的原因组件暂时失去焦点,但是随着操作结束组件又会恢复焦点。 常用的事件处理 焦点事件处理涉及到事件类FocusEvent和监听器接口FocusListener。利用它们可以实现焦点事件的具体步骤如下: 组件通过方法addFocusListener()到注册FocusListener中。允许监听器在程序运行过程中监听组件是否有鼠标键事件FocusEvent对象发生。 实现FocusListener接口的所有方法,提供事件发生的具体处理办法。 常用的事件处理 FocusEvent的常见方法 方 法 功 能 Component getOppositeComponent() 获取焦点变化关联的其他组件 boolean isTemporary() 获取焦点事件的类型 FocusListener的方法 方 法 功 能 void focusGained(FocusEvent) 组件获取焦点时调用 void focusLost(FocusEvent) 组件失去焦点时调用 常用的事件处理 菜单事件处理 菜单是应用软件经常使用的界面组件。用户可以选择菜单项来实现某种功能。在具体对菜单处理可以通过菜单项的类型不同而展开。如果菜单项是属于JMenuItem对象,对这种菜单项一般可以通过点击动作来激活动作事件,所以可以用动作事件处理的方式来实现。如果菜单项是JCheckBoxMenuItem对象,则可以采用选项事件处理的方式进行处理。要是菜单项是JRadioButtonMenuItem对象可以根据具体要求,可以选择用动作事件或选项事件处理。 * * 处理鼠标事件 鼠标事件能够被GUI组件捕获到 基本事件监听器的接口 MouseListener MouseMotionListener MouseWheelListener * * 示例 【例8-11】J_Button1.java,鼠标点击事件处理例程 * * 示例 【例8-12】J_Button2.java,鼠标点击事件处理例程,修改为匿名类 * * 示例 【例8-13】J_Draw.java,鼠标画画例程 事件适配器 实现事件处理时,用户有时只定义监听器接口中对事件处理的部分方法,对于其他并没有具体的定义。在这种情况下,可以考虑使用事件适配器来处理事件。事件适配器就是一个可以兼容监听器接口的接口,它可以提供兼容监听器接口的默认所有方法。 事件适配器的一个最主要的应用,就是可以简化监听器接口不必要的事件处理。比如,MouseListener接口有5个方法,如果在具体编程的时候只需要其中的一个方法,那么就可以定义一个事件适配器来实现这个特定的方法。另外,它可以通过与其他类的组合,设置一定的工作模式,实现特定的功能。 * * 事件适配器 事件适配器类(Adapter) 只实现接口所需要处理的方法?通过覆盖 对于接口中的其它方法: 系统会提供默认的方法(方法体为空) 事件适配器类与事件监听器接口的区别? 利用事件适配器类,只需实现所需处理的方法 利用事件监听器接口,必须实现所有的方法 事件适配器类与事件监听器接口的执行效率? 利用事件适配器类处理事件,并不能提高执行效率 * * 事件适配器类与事件监听器接口 ComponentAdapter ContainerAdapter FocusAdapter MouseAdapter WindowAdapter KeyAdapter MouseMotionAdapter ContainerListener FocusListener MouseListener WindowListener KeyListener MouseMotionListener ComponentListener 事件适配器类 事件监听器接口 * * 本章总体纲要 基本GUI组件 布局管理器 事件处理模型 菜单 * * 菜单 菜单可以使GUI变得更为简洁,树状 菜单项实际上可以看做另一种形式的按钮 菜单只能加入到具有成员方法(setJMenuBar)的类的实例对象中 例如: JFrame 和Japplet * * 菜单术语 菜单术语 菜单栏(menu bar) 下拉式菜单(menu) 菜单项(menu item) 与菜单相关的部分类: JMenuBar JMenu JMenuItem JCheckBoxMenuItem (extends JMenuItem) JRadioButtonMenuItem

文档评论(0)

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

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

1亿VIP精品文档

相关文档