您的位置:首页 > 其它

swt 中的事件调用机制

2014-12-01 19:23 218 查看
我们在进行swt编程的时候,经常会用到ctrol控件的添加事件监听的方法(例如:button.addMouseListener(.....)),但是这些事件监听的原理是怎样的呢?

根据百度文库eclipse的界面开发可以发现:



其中消息(MSG)是Display类中的一个属性,同时它也是底层操作系统消息队列的一个句柄(操作系统指向对象内存地址的引用,它实际是一个4字节的数值)。

例如我们对自己应用程序的一个控件添加键盘监听事件,当我们按下键盘的某个键的时候,操作系统会去监听队列中找出键盘监听事件,然后Display只从队列中读取GUI事件。如果它找到了相关的事件,则将相关的事件发送给底层的shell,由shell对象决定哪个小窗口部件可以接受这个事件。窗口小部件将该事件发送给listener接口,listener接口会调用我们实际编写的方法去做我们想要达到的效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: