我有一个Shell
和附加的MouseTrackListener
。
当外壳具有焦点时,MouseTrackListener
的事件可以正常工作,但是当我选择另一个应用程序且外壳不再具有焦点时,mouseEnter
和mouseExit
事件将不再触发。
我该如何解决这个问题?我知道这是可能的,因为它在Swing实现中起作用。
最佳答案
我知道这是可能的,因为它在Swing实现中起作用。
您真的不能这么说,因为SWT使用本机OS小部件,而Swing没有。因此,他们的行为不必相同。
您的问题肯定与操作系统有关。当使用Windows(不一定是SWT,使用任何东西)并在没有焦点的窗口上滚动时,内容不会滚动。在Linux中执行相同操作时,内容会滚动。
我刚刚在使用MouseTrackListener
的Linux上测试了代码,即使window / Shell
没有焦点,它也会被触发。
最后,恐怕您无能为力。