由于项目需求,需要为Java提供一套支持事件驱动机制的类库,可以实现类似于C#中的event和delegate机制。众所周知,Java语言本身以及其标准库中并没有提供事件驱动机制的相关接口,虽然Swing(我且认为其不属于标准库,因为一般没人用:)中存在相关的类支持该机制以实现组件的事件处理,但它毕竟是与GUI相耦合的,而在其它类型的应用程序中使用起来显得就有些别扭,缺乏通用性。因此有必要实现一套通用的Java事件驱动机制类库,然后将其应用于通用的Java应用程序当中,虽然这并不是什么难事:)
让我们先考察一下C#的事件驱动机制编写方法。C#中提供的event关键字可以很容易的用来定义一个事件,然后通过向事件中添加事件处理函数(在C#中一般用委托(delegate)来引用一个函数),触发事件就可以调用相关的处理函数,也即是事件驱动的过程。例如:
//定义事件和对应的委托public event MyDelegate Click;public delegate void MyDelegate();//定义委托void OnClick(){ console.writeline("you just clicked me!");}//将委托与事件关联Click += OnClick;//触发事件Click();
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机浅谈用java实现事件驱动机制
后端开发2023-05-31
Node.js 事件机制剖析:深入浅出,巧用事件驱动
后端开发2024-03-05
浅谈express 中间件机制及实现原理
后端开发2022-06-04
浅谈java如何实现Redis的LRU缓存机制
后端开发2024-04-02
使用 Vue 自定义事件实现事件驱动的体系结构
后端开发2024-02-20
Golang中使用RabbitMQ实现事件驱动的架构设计
后端开发2023-10-20
如何利用Redis和Haskell实现事件驱动的应用功能
后端开发2023-10-22
如何在 Golang 中使用协程实现事件驱动编程?
后端开发2024-05-21
怎么在IOS中使用RunLoop实现事件循环机制
后端开发2023-06-15
C++使用标准库实现事件和委托以及信号和槽机制
后端开发2022-11-13
咦!没有更多了?去看看其它编程学习网 内容吧