Java桌面程序开发的事件处理编码分析

来源 :硅谷 | 被引量 : 0次 | 上传用户:swrthy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 Java桌面程序既要有友好易用的图形用户界面,也应实现相应的功能。在开发桌面程序时,Java事件处理机制是让图形用户界面能响应用户交互动作的关键,本文就着重讨论了Java桌面程序开发时几种常见的事件处理编码方式。
  关键词 Java;桌面程序;事件处理
  中图分类号:TP311 文献标识码:A 文章编号:1671—7597(2013)041-068-02
  使用Java语言进行桌面程序开发包含两个关键步骤:一是实现图形用户界面;二是实现界面与用户的交互功能。桌面程序如果空有界面,但用户做什么都没有反应,程序不能与用户互动,那这个程序就没有实际意义了。为了让图形用户界面能“动”起来,能对用户的操作比如点击按钮、选择菜单命令等做出响应,就需要为图形用户界面添加事件处理编码。
  2 Java的授权事件处理模型
  Java采用授权事件模型(Delegation Event Model,也称为委托事件模型)的事件处理机制来实现图形用户界面与用户交互的功能。授权事件处理模型是指当用户与界面上的组件发生交互操作触发事件时,组件本身并不直接处理事件,而是将事件的处理工作委托给事件监听器对象,由监听器对象实现具体的功能。授权事件处理模型的示意图如图1所示。
  采用授权事件模型进行事件处理编码,实现界面与用户的交互功能主要包含三个要点:
  1)确定事件源和事件,即确定界面上的什么组件是有必要监听它与用户的交互动作的,该组件与用户交互产生的哪种事件是需要程序作出响应的。
  2)根据事件源和事件编写事件处理代码。在授权事件模型中,事件监听器负责监听事件源上的事件,并能在事件产生后调用特定方法、执行功能代码。Java提供了一些事件监听器接口,能监听不同类型的事件,程序员需要实现监听器接口来创建用于自己程序的监听器类,重写接口中的方法,这些方法在事件发生时将自动被调用。
  3)为事件源注册监听器对象。只有将事件源与监听器对象这样绑定之后,事件源上发生与用户的交互事件时,才会触发监听器对象中相应方法的执行,即调用具体的功能代码,亦即程序对用户的交互动作作出了响应。
  3 事件处理编码的两种常见方式
  由授权事件处理模型可知,事件处理编码的主要工作包含两个:1)创建监听事件的监听器类,重写其中的功能方法。2)给需要监听的组件(事件源)注册监听器类的对象。接下来,以一个典型的桌面程序模块——登录验证为例,介绍两种常见的事件处理编码方式。登录验证模块功能如图2、图3所示。用户点击“登陆”按钮即进行账号、密码验证并反馈验证结果,用户点击“重置”按钮则清空账号和密码框。
  为方便演示,此示例中假定合法账号、密码为admin和1234,实际应用中账号、密码应存于数据库。账号文本框名为t_name,密码框名为p_pwd,登陆按钮名为b_login,重置按钮名为b_reset,均使用javax.swing包中的组件类型创建。
  3.1 界面类同时作为监听器类方式
  实现界面的类同时实现监听器接口成为监听器类,因此,事件源注册的监听器对象即为本类对象。两个按钮可以注册同一个监听器对象,在实现具体功能之前应先区分事件源是“登陆”还是“重置”按钮,然后再实现各自对应的功能。核心代码如下:
  public class LoginFrame extends JFrame implements ActionListener{
  ……
  // 两按钮注册监听器
  b_login.addActionListener(this);
  b_reset.addActionListener(this);
  ……
  //ActionListner接口必須实现的方法,此方法在ActionEvent事件发生时自动被调用
  public void actionPerformed(ActionEvent e) {
  // 事件源是“登陆”按钮
  if (e.getSource() == b_login) {
  //验证账号、密码合法性并反馈结果
  String pwd = new String(p_pwd.getPassword());
  if ("admin".equals(t_name.getText())&&"1234".equals(pwd)) { JOptionPane.showMessageDialog(this, "登陆成功!");
  } else {
  JOptionPane.
  showMessageDialog(this, "账号或密码错误,登陆失败!");
  }
  }
  // 事件源是“重置”按钮
  if (e.getSource() == b_reset) {
  //清空账号、密码框
  t_name.setText("");
  p_pwd.setText("");
  }
  }
  3.2 匿名内部类方式
  以匿名内部类的方式实现监听器类,并实例化一个匿名对象直接注册给事件源。这种方式是所见即所得的图形用户界面开发工具中较常使用的方式。“登陆”按钮和“重置”按钮各自注册自己的监听器对象实现对应的功能,核心代码如下:
  // "登陆"按钮注册监听器
  b_login.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e) {
  //验证账号、密码合法性并反馈结果
  ……
  }
  });
  // "重置"按钮注册监听器
  b_reset.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e) {
  //清空账号、密码框
  ……
  }
  });
  4 小结
  事件处理编码的方式虽然是多样的,但中心思想是一致的,那就是:创建监听某种类型事件的监听器类,将监听器对象注册给事件源。理解了这个中心思想,那不同的编码方式就都容易理解和掌握了。
  参考文献
  [1]曹静,Java桌面程序开发[M].大连理工大学出版社,2011.
  作者简介
  肖英(1980-),女,汉族,湖北武汉人,讲师。
其他文献
摘 要 网络系统技术的快速发展对计算机局域网服务器可靠安全性提出了更高水平的要求。本文基于该角度,探讨了计算机服务器科学维护管理策略。  关键词 计算机;服务器;维护  中图分类号:TP307 文献标识码:A 文章编号:1671—7597(2013)041-128-02  1 计算机服务器应用现状  信息化建设进程的逐步深入、网络系统平台的扩充应用,对计算机服务器安全可靠运行效能提出了高标准要求。
摘要 本文根据硬盘分区链表、主引导扇区、分区结点的结构和特点,提出一组对分区链表进行恢复的方法。  关键词 分区链表;主引导扇区记录;分区结点  中图分类号:TP333 文献标识码:A 文章编号:1671—7597(2013)041-113-01  分区链表对于硬盘数据意义重大,假如分区链表因为种种原因被破坏,如病毒、误操作等,就会造成无法进入系统或者盘符丢失,从而找不到数据。这里我们提供了一组对
电网的无功补偿技术能够改善电能的质量,同时能够减少能源损耗.电网的无功补偿对其功率因数有着重要的影响.因此,本文将由此出发,探讨电网的无功补偿对功率因数的影响,从而达
无线传感器网络作为21世纪最重要的技术之一,它的成功应用将成为我国飞机试飞测试领域的一项新变革。本文阐述了应用于试飞测试领域的无线传感器网络系统的构建。通过试验机试飞数据表明,该系统能够有效地实现试飞参数的测试,从而给出了一种新的飞行试验测试方法,具有很强的工程适用价值。
摘 要 对GSM网络的优化涉及多领域的多种内容,提出一种GSM网络中的信令解析及跨层多目标优化方法,提取帧信息中关于误码率、上下行链路质量和小区电平等参数对GSM网络进行实时优化。  关键词 GSM网络优化;信令解析;小区参数  中图分类号:TN929 文献标识码:A 文章编号:1671—7597(2013)041-074-02  信令解析可以實时捕捉信令网络上所传输的信息,对其进行分析即可制定和
摘 要 软件开发技术的发展日新月异,各种开源的开发框架也纷纷出现,目前最为流行的就是基于MVC设计模式的J2EE应用框架。但是,这类开源框架也存在着配置复杂、难以掌握等不足。本文通过笔者的学习和研究,提出了一种使开发过程变得更加简单、更有效率的新型开发框架,并阐明了相关技术原理和应用效果。  关键词 开发框架;数据库;面向对象  中图分类号:TP311 文献标识码:A 文章编号:1671—7597
摘 要 随着科技的进步,舰载电子设备设计越来越复杂,集成性也越来越高,设备内部的电磁环境十分复杂,电磁兼容设计问题越来越受到重视,它不仅关系到舰载电子设备的性能,也直接影响到设备的使用寿命。因此,电磁干扰成为了电子设备使用中的一个严重弊端,为了抑制电磁干扰,必须要做好电子设备的电磁兼容设计,对此,本文分析舰载电子设备电磁兼容设计的方法,旨在为有关工作提供参考。  关键词 电子设备;电磁干扰;兼容设
摘 要 本为采用有限元软件ANSYS对铝电解多功能机组主梁进行分析,并采用接触单元模拟主梁和主梁上轨道之间的接触面。给出了主梁计算结果,然后对其刚度、静强度以及疲劳强度校核,验证了ANSYS软件计算接触问题的准确性。  关键词 铝电解多功能机组;接触单元;有限元分析  中图分类号:TF821 文献标识码:A 文章编号:1671—7597(2013)041-053-02  铝电解多功能机组(简称PT
摘 要 本文设计分析了一种基于计算机网络的监控系统,该系统可以在远程控制端实现对被控端的存储监控、屏幕监控、文件管理、进程监控等功能。  关键词 计算机网络;监控系统  中图分类号:TP277 文献标识码:A 文章编号:1671—7597(2013)041-062-01  随着信息技术的发展,基于计算机网络的远程监控系统得到了广泛的关注和应用。利用计算机网络可以将监控系统的监视范围和控制范围扩展到
摘 要 随着我国科学信息技术的不断发展,我国电信网络、计算机网络以及电视网络这三大网络不管是在业务上、应用上还是在业务上不断地融合与渗透,出现了很多新的应用技术,其中IP电视就是其应用之一。IP电视的应用就是为了让宽带不同的这些用户能够利用互联网来观看相应的数字电视节目,通过卫星数字技术进行电视网络的直播。本文笔者就IP电视中的视频转码技术进行研究和分析。  关键词 IP电视;视屏;多媒体技术;转