| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:[求助]有关事件处理
只看楼主 加入收藏
cpp
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-3
收藏
 问题点数:0 回复次数:10 
[求助]有关事件处理
小弟在看书时遭受挫折。
敢问各位高手何为事件类,监听?
书中大量涉及“监听器”,“监听者”等词汇。
我现在还不知道这些是什么东东?有什么用?怎么用?
希望有高手能高抬贵手,能帮小弟一下!
越详细越好,转贴的也行啊
搜索更多相关主题的帖子: 看书 希望 
2005-01-23 17:33
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
java事件监听机制一些书上概念居多,结合实际来举例子。比如你打官司之前要请私人律师,之前的和私人律师签订合同。当你吃了官司时,这时你就得给你的私人律师打电话。那么你的私人律师就会帮你打官司,你就不用来打官司了。
同样道理java的事件监听机制就是,当你点击一个按钮时,发生点击事件(就好比吃了官司)。如果这个事件没有注册监听器(之前没有请私人律师),那么点击以后就不会有任何反应(没有请律师也就不好打官司)。而监听器就是好比私人律师,但是点击事件的监听器只监听点击事,就好比律师只管打官司,有了病只能找私人医生律师不管瞧病。不过不绝对监听器本身是一个类,一个类就好像一个人。虽然说现实世界里,全能的人很少有。但不是没有,也就是说一个类可以实现多个监听器接口(接口的概念楼主应该明白吧?)。这个类也就能够既能监听点击事件,也能监听鼠标移动事件等。相当于这个人既是律师又能当医生的道理一个样。也就是说在java中当发生事件时,会自动产生一个事件对象。就像发生官司时就有官司这个对象,得了病就有病这个对象一样。这些对象得到事先注册的监听器中,调用相应监听器的代码来处理。就跟上面说的发生官司时得让之前签订好合同的律师,来处理。得了病得找私人医生的道理一样。这么讲够明白的了吧?这个就是java的事件监听机制的基本原理。
2005-01-23 20:34
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
很形象!

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-24 09:54
cpp
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-3
收藏
得分:0 
生动!
形象!
如此活泼的方式来解释事件的监听真是提壶罐顶,一语道破天机。
在下明白了!
书上在讲监听的优点的同时,还说了好多关于基于继承的事件模型的坏话,继承事件模型真的有那么差劲吗?它都有哪些弊端?
2005-01-25 19:16
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
监听器有一种叫监听适配器,适配器本身是一个类。这个类实现了对应监听器接口的所有方法,因为java有个缺点就是继承父类只能单一继承。也就是一个类只能继承一个类,不能一个类继承2个或多个。但是适配器有它的好处,那就是比如要做出一个window事件的监听器。如果实现接口的方法来做,就得写一大堆方法(用不着的也得写)因为java接口规定了,实现接口的类必须实现接口中的所有方法。适配器(也就是继承事件模型)的价值就在于节省编码的量,不用再实现所有方法。因为适配器是类,子类继承后只重写特定的方法就行。节省代码量。另外的一个价值就在于匿名类(这个楼主应该知道吧就是没有类名的类),用这个可以随时造出监听器。这时适配器就可以发挥节省代码的优势,2-3行就能做出监听器方便快捷。
2005-01-26 23:56
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
继承事件模型或者实现接口真正编写程序时,为了简便两者可以互相来用。这个什么时候用是具体程序,具体分析根据编码的要求来做。
2005-01-26 23:59
cpp
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-3
收藏
得分:0 
顶!
2005-01-27 11:02
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
更正一下错误,基于继承的事件模型与适配器不是一个概念。这点是我理解错了楼主的意思,所以为了不做误导特地说明一下。无论是适配器还是接口都是基于授权的事件模型,也就是我在2楼讲的。而继承的事件模型一些书上说它不好,也不是并无道理。毕竟基于继承的事件模型在某些方面的确不好,比如java的单继承限制。所以一些时候继承的事件模型,在编码上过于死板。而且有些结构化,这点可能是违背了java面向对象语言的特点。所以不会受到推荐,为此特地澄清这个概念。因为毕竟这个上面误导出学者是不应该的。
2005-01-27 20:25
suifengfei
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2005-3-16
收藏
得分:0 
学习Java没有什么捷径,也没有什么谁讲的懂谁得不懂(当然会有人讲的细致一点),在我看来,就是多做,我刚学事件的时候,什么都不知道。适配器,监听器,全都混在一起。我就找了一个例题作,可以说作了N遍,也就都会了,至今都还记得那个例题。
2005-03-16 14:20
lntuzjc
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2005-3-23
收藏
得分:0 
不错!高手境界。
2005-04-01 09:54
快速回复:[求助]有关事件处理
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved