我有一个Shell和附加的MouseTrackListener

当外壳具有焦点时,MouseTrackListener的事件可以正常工作,但是当我选择另一个应用程序且外壳不再具有焦点时,mouseEntermouseExit事件将不再触发。

我该如何解决这个问题?我知道这是可能的,因为它在Swing实现中起作用。

最佳答案

我知道这是可能的,因为它在Swing实现中起作用。


您真的不能这么说,因为SWT使用本机OS小部件,而Swing没有。因此,他们的行为不必相同。



您的问题肯定与操作系统有关。当使用Windows(不一定是SWT,使用任何东西)并在没有焦点的窗口上滚动时,内容不会滚动。在Linux中执行相同操作时,内容会滚动。

我刚刚在使用MouseTrackListener的Linux上测试了代码,即使window / Shell没有焦点,它也会被触发。



最后,恐怕您无能为力。

09-27 17:34