我有一个带有 MouseTrackListener
的 Shell
。
当 shell 获得焦点时,MouseTrackListener
的事件工作正常,但是当我选择另一个应用程序并且 shell 不再获得焦点时,mouseEnter
和 mouseExit
事件不再触发。
如何解决这个问题?我知道这是可能的,因为它适用于 Swing 实现。
最佳答案
I know it is possible, since it worked in a Swing implementation.
您不能这么说,因为 SWT 使用 native OS 小部件,而 Swing 不使用。所以他们的行为不必相同。
你的问题肯定是操作系统相关的。当使用 Windows(不一定是 SWT,使用任何东西)并在没有焦点的窗口上滚动时,内容不会滚动。在 Linux 中执行相同操作时,内容会滚动。
我刚刚在 Linux 上测试了使用 MouseTrackListener
的代码,即使 window/Shell
没有焦点,它也会被触发。
总而言之,恐怕你无能为力了。
关于Java SWT : MouseTrackListener only fires events when the shell is focused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21214470/