Java开发中的事件驱动模型实例详解

文章作者 100test 发表时间 2008:03:15 10:04:34
来源 100Test.Com百考试题网


或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类人机对话界面(HMI)。
可视化编程或许是一个初学者开始对软件感兴趣的开始,也可能是一个软件学习的里程碑点,因为我们可以使用各类软件集成开发环境(IDE)方便的在现成的界面窗口上拖放各类组件(Component),这类组件包括我们常见的按钮(Button),单选按钮(Radio Button),复选框等(Checkbox)。这样的拖放式开发方式不但方便,而且窗口会立竿见影的显示在我们的面前,这对于一个软件初学者而言或许是一件非常有成就感的事情。

  但是很多软件学习者在学习可视化开发的过程中,只是非常表面的来理解可视化编程,他们可能认为能够使用拖放方式完成一个界面就非常值得称道,但是很少有人会认真的去理解编程语言对于可视化编程组件的支持和整合,在Softworks软件人才培训中心的两年教学过程,我深刻的感受到了这一点,因此下文将会结合我的教学经验来讲解可视化编程过程中最为关键的“事件驱动模型”。

  1.什么是事件驱动模型?

  在讲解事件驱动模型之前,我们现在看看事件驱动模型的三大要素:

  ·事件源:能够接收外部事件的源体。

  ·侦听器:能够接收事件源通知的对象。

  ·事件处理程序:用于处理事件的对象。

  学员应该要理解任何基于事件驱动模型的开发技术都包含以上三大要素,不管是.net还是java技术,甚至是以前我们使用的Visual Basic和Delphi语言都有基于以上三大要素的事件驱动模型开发流程。

  现在我们来看一个生活中的示例,如果有一天你走在路上一不小心被天上掉下来的花瓶砸到了,并且晕死了过去。那么整个过程其实就是一个事件处理流程,而且我们可以非常方便的分析出刚才所提到的事件驱动模型中的三大要素。

  1.被砸晕的这个人其实就是事件源,因为他是能够接受到外部的事件的源体。

  2.侦听器就是这个人的大脑神经,因为它会感知到疼痛。

  3.事件处理就是这个人晕死了过去。

  由于事件驱动模型在我们日常生活中是无处不在的,因此Java和其他的编程语言都将这一过程运用到了可视化编程中了。

  2.Java编程语言中的事件驱动模型

  在Java编程技术中,最常用的可视化编程当属Java Swing技术,Java Swing为开发者提供了很多现成的组件,如:按钮(JButton),单选按钮(JRadioButton)等。为了管理用户与组成程序图形用户界面的组件间的交互,必须理解在Java中如何处理事件。

  假设用户单击了程序图形用户界面中的一个按钮,其实该按钮就是这个事件的源(可以引发事件的物体)。所有的Java Swing对象都有感知自己被操作的能力,因此JButton按钮也具有这样能力。一个事件通常必须有一个源对象,这里就是JButton对象。当单击按钮时,JButton组件类会生成一个用于存放该事件参数的ActionEvent的对象,该对象包含了事件及事件源的信息。图1-1显示了这种机制。

  Java开发中的事件驱动模型实例详解(图一)

  图 1-1

  当JButton感知到自己被点击以后会将这种感觉传递给某个侦听器对象,该侦听器对象原先已被告知对该类事件感兴趣,侦听器对象仅是一种侦听特定事件的对象。这里的“将事件传递给侦听器”仅意味着事件源调用侦听器对象中的一个特定方法,并以事件对象作为实参。侦听器对象可以侦听一个特定对象的事件(比如一个按钮)。


相关文章


Oracle恢复管理器(RMAN)的功能
2007年12月英语六级短文改错(十七)
OracleDBA优化数据库性能心得体会
反射在JavaSwing编程中的应用
Java开发中的事件驱动模型实例详解
内审员知识问答考试的相关问题
2007年中级会计师财务管理答疑
2007年会计职称中级财管串讲题
中国注册会计师协会召开全国秘书长座谈会
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛