Java SWT : MouseTrackListener only fires events when the shell is focused

标签 java focus swt mouseevent

我有一个带有 MouseTrackListenerShell

当 shell 获得焦点时,MouseTrackListener 的事件工作正常,但是当我选择另一个应用程序并且 shell 不再获得焦点时,mouseEntermouseExit 事件不再触发。

如何解决这个问题?我知道这是可能的,因为它适用于 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/

相关文章:

java - Swt 插入符会导致整个 Canvas 重绘

java - 尝试编译 AspectJ 教程应用程序时出现问题

.net - 获取 WPF 窗口中当前聚焦的元素/控件

javascript - onmousedown 事件停止输入焦点

javascript - 跨浏览器输入文本焦点系统?

java - 不同平台的SWT jar

java - 在Java或Android中合并AMR音频文件

java - Selenium 获取快速变化元素的值 StaleElementReferenceException

JAVA SWT 动画 GIF

java - 我们如何在swt中添加菜单到标签