在Windows / Linux / Mac上的Java程序中对全局热键有反应吗?

时间:2020-03-05 18:57:50  来源:igfitidea点击:

Java6应用程序位于系统托盘中。需要使用热键(例如,Super-G或者Ctrl-Shift-L等)将其激活,然后执行某些操作(例如,显示输入框)。

我该怎么做:

  • Windows(XP或者Vista)
  • OS / X
  • Linux(Gnome或者KDE)

解决方案

回答

如果不使用本机接口,这似乎不可能以跨平台的方式实现。

在Windows上,可以使用免费的JIntellitype库。

回答

对于Linux(X11),有JXGrabKey:http://sourceforge.net/projects/jxgrabkey/

还有一个在Linux上获取全局热键的教程:http://ubuntuforums.org/showthread.php?t=864566

我还没有找到OS X的解决方案。

为了为所有3个平台构建东西,我建议将JIntellitype(它是Apache许可)剥离为其全局热键功能,并使用OS X和X11功能进行扩展...

回答

如果有人想做Jintellitype的JNI部分的OSX或者Linux版本,我会很乐意将它们添加到JIntellitype库中。

梅洛韦

http://www.melloware.com