swt 中的事件调用机制
2014-12-01 19:23
218 查看
我们在进行swt编程的时候,经常会用到ctrol控件的添加事件监听的方法(例如:button.addMouseListener(.....)),但是这些事件监听的原理是怎样的呢?
根据百度文库eclipse的界面开发可以发现:
其中消息(MSG)是Display类中的一个属性,同时它也是底层操作系统消息队列的一个句柄(操作系统指向对象内存地址的引用,它实际是一个4字节的数值)。
例如我们对自己应用程序的一个控件添加键盘监听事件,当我们按下键盘的某个键的时候,操作系统会去监听队列中找出键盘监听事件,然后Display只从队列中读取GUI事件。如果它找到了相关的事件,则将相关的事件发送给底层的shell,由shell对象决定哪个小窗口部件可以接受这个事件。窗口小部件将该事件发送给listener接口,listener接口会调用我们实际编写的方法去做我们想要达到的效果。
根据百度文库eclipse的界面开发可以发现:
其中消息(MSG)是Display类中的一个属性,同时它也是底层操作系统消息队列的一个句柄(操作系统指向对象内存地址的引用,它实际是一个4字节的数值)。
例如我们对自己应用程序的一个控件添加键盘监听事件,当我们按下键盘的某个键的时候,操作系统会去监听队列中找出键盘监听事件,然后Display只从队列中读取GUI事件。如果它找到了相关的事件,则将相关的事件发送给底层的shell,由shell对象决定哪个小窗口部件可以接受这个事件。窗口小部件将该事件发送给listener接口,listener接口会调用我们实际编写的方法去做我们想要达到的效果。
相关文章推荐
- 服务端控件开发 包含处理机制—— 子控件中调用住空间委托的事件实例
- Andoid Touch事件分发机制 及与OnClick的调用机制
- JavaScript中external与active host之间的事件调用机制
- ViewPager滑动事件调用机制简单概述
- C#重绘OnPaint()事件调用机制
- java SWing事件调用的两种机制
- java SWing事件调用的两种机制
- 使用事件机制相比直接调用函数的优势
- 转载NET体系下的回调与异步调用之委托与事件机制
- [置顶] 安卓中滑动事件的传递机制及dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的调用
- 学习SWT的笔记 --键盘事件处理
- button2.click事件里要调用button1.click事件,怎么写代码?
- C#的事件机制
- 白岩松:田亮事件映出落后机制
- ASP.Net中OnBeforeUnLoad事件中调用__doPostBack不起作用?
- C#事件机制学习
- 利用System.EventHandler来实现两个窗体间的事件调用
- 演示改变客户端控件事件响应脚本及无刷新调用服务端(ASP.net2.0)
- Linux 2.6 新增的 vsyscall 系统服务调用机制(ZT)
- 剖析Windows系统服务调用机制