使用Java,如何在不使用GUI组件的情况下检测按键?

时间:2012-07-26 16:26:27

标签: java event-handling keyboard mouseevent keylistener

使用Java,是否可以在不使用GUI元素的情况下检测用户操作,例如按键,鼠标按键和/或鼠标屏幕位置?

如果是,我该如何实施呢?

否则,有哪些替代方案?


我在这个问题上发现的唯一StackOverflow源是this question,没有答案。

我在StackOverflow之外找到的关于此问题的唯一来源指向“隐形GUI”解决方案,希望是我真正想要避免的。

2 个答案:

答案 0 :(得分:2)

它可以使用JNI和/或JNA实现,但这不能真正称为“java实现”,因为您必须编写特定于平台的本机代码。

我尝试的替代解决方案是使用全屏透明寡妇,它正在监听鼠标和键盘的所有事件,并使用类Robot将它们“转发”到真实应用程序。我试过这种方法。它适用于一个限制:支持应用程序的“鼠标悬停”事件存在问题:鼠标不会移动到实际应用程序上。它正在移动透明的java窗口。

答案 1 :(得分:-1)

使用java.awt.event.KeyListener类。您必须编写三种方法,在这些方法中,您可以编写要检测的键,以及按下键时想要发生的任何键。