Events 在SWT中,是否可以区分由用户交互和代码引起的事件?
这个例子使用的是JRuby 例如,如果我将listener添加到如下文本小部件:Events 在SWT中,是否可以区分由用户交互和代码引起的事件?,events,swt,jruby,Events,Swt,Jruby,这个例子使用的是JRuby 例如,如果我将listener添加到如下文本小部件: add_modify_listener do |e| options = { event: e, r_value: r_value, source: self, is_interface_object: true, is_storeable: is_storeable? } presenter.send r_id, options end 如果用户与小部件交互,或者我以编程方式设置小部件文本的值,
add_modify_listener do |e|
options = { event: e, r_value: r_value, source: self, is_interface_object: true, is_storeable: is_storeable? }
presenter.send r_id, options
end
如果用户与小部件交互,或者我以编程方式设置小部件文本的值,则调用侦听器。有没有办法区分这两种潜在的触发因素
顺便说一句,我知道我可以监听不同的事件,比如(关键事件和修改事件),所以我不是在寻找解决方法,只要有可能区分这两个触发器。在SWT
事件中没有任何东西可以告诉你事件的来源
因此,不,您无法说出事件是如何生成的。我认为您可以获取源代码,但这只是小部件,而不是小部件的更改内容或方式。是的,您可以获取小部件,但通常也会通过编程调用进行设置。没有什么是编程调用无法设置的。