2

好的,所以我有一个添加了 KeyListener 的 JFrame,并且我将可聚焦设置为 true。KeyListener 没有问题,但它只在窗口位于顶部时才监听键。如果窗口不在顶部,我想做的是听击键。基本上,我正在尝试制作一个程序,该程序在用户按下 F10 时执行代码,并在用户再次按下 F10 时停止执行代码。窗口不必在顶部才能使该程序工作,这意味着如果我按 F10 并且 JFrame 不在顶部,它仍然会执行。任何帮助将不胜感激!谢谢你。

4

1 回答 1

1

不,Key Bindings/KeyListeners/任何纯 Java 应用程序都不能工作,因为应用程序必须在上面才能工作。

您正在寻找一个键盘挂钩,而 Java 本身无法做到这一点。您必须使用链接到本机应用程序(例如 C/C++ 应用程序)的 JNI、JNA,或者更简单地将 Java 链接到脚本实用程序(例如 AutoIt)(如果是 Windows,或者类似的实用程序,如果不是)。请注意,所有这些解决方案都必须是特定于平台的。

于 2012-05-21T21:06:06.173 回答