如果窗口不在顶部,请收听击键

时间:2012-05-21 20:44:44

标签: java swing keylistener keyevent

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

1 个答案:

答案 0 :(得分:1)

不,Key Bindings / KeyListeners /任何纯Java应用程序都不会起作用,因为应用程序必须位于最佳状态才能工作。

你正在寻找一个键盘钩子,Java本身不能这样做。您必须使用链接到本机应用程序(如C / C ++应用程序)的JNI,JNA,或者更容易将Java链接到脚本实用程序(如AutoIt)(如果不是Windows,或者类似实用程序,如果没有)。请注意,任何和所有这些解决方案必须是特定于平台的。