繁体   English   中英

Mac OSX Java:未激活时接收鼠标事件

[英]Mac OSX Java: Receive mouse events when not activated

我正在编写一个Java Swing应用程序,当应用程序未被激活时需要有一个窗口接收鼠标移动事件 - 将它想象成一个全局的always-on-top工具栏,当鼠标经过它时会动画。

从我到目前为止的研究中,我已经看到Mac Java JRE仅在应用程序具有焦点时才传递事件。

它似乎不是操作系统的限制,所以我希望有一个系统属性,一个应用程序包属性或一个启用非激活事件处理的系统调用。 如果做不到这一点,那就是一些全局捕获鼠标移动事件并将它们传递给Java应用程序的方法。

谢谢你的任何建议......

编辑:另一个问题:一旦捕获了鼠标移动事件,你如何将它们提供给Swing,以便它们被处理为与本机OS鼠标事件相同 - 通过在鼠标下找到组件并向其发送MouseEvent ...

纯Java无法实现这一点。
您将需要JNI并使用C ++或其他语言编写全局keylistener(或键盘钩子 )。

以下是有关Global KeyListener的一些主题:

关于最后一个主题: 是OSX的给定解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM