使用 Java,是否可以在不使用 GUI 元素的情况下检测用户操作,例如按键、鼠标按键和/或鼠标的屏幕位置?
如果是,我该如何实施?
否则,有什么替代方案?
我在这个问题上找到的唯一 StackOverflow 来源是这个问题,没有答案。
我在 StackOverflow 之外发现的关于这个问题的唯一来源指向“隐形 GUI”解决方案,希望是我真正想要避免的事情。
使用 Java,是否可以在不使用 GUI 元素的情况下检测用户操作,例如按键、鼠标按键和/或鼠标的屏幕位置?
如果是,我该如何实施?
否则,有什么替代方案?
我在这个问题上找到的唯一 StackOverflow 来源是这个问题,没有答案。
我在 StackOverflow 之外发现的关于这个问题的唯一来源指向“隐形 GUI”解决方案,希望是我真正想要避免的事情。
它可以使用 JNI 和/或 JNA 来实现,但这不能真正称为“java 实现”,因为您必须编写特定于平台的本机代码。
我尝试过的替代解决方案是使用全屏透明寡妇来监听鼠标和键盘的所有事件,并使用 class 将它们“转发”到实际应用程序Robot
。我试过这种方法。它在一个限制条件下运行良好:支持应用程序的“鼠标悬停”事件存在问题:鼠标没有在实际应用程序上移动。它在透明的 java 窗口上移动。
使用 java.awt.event.KeyListener 类。您将必须编写三种方法,您可以在其中编写要检测的键,以及按下键时想要发生的任何事情。