我正在尝试编写最能被推测为脚本的内容,以便多次点击浏览器上的按钮而不会停止。我可以使用java.awt.Robot类无限制地进行按键操作,但我遇到的问题是编写正确的激活器/中断器;我不知道如何让Java听取键盘命令(我想在按F3时启动/停止)而不使用监听器,如果我没有弄错,则需要将监听器添加到UI组件中。我该怎么做呢?目前我有:
public static void main(String[] args) throws Exception
{
final Robot robot = new Robot();
robot.delay(10000);
while (true)
{
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(1000);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
}
我意识到在Jython或Groovy中它可能非常简单,但我仍然很好奇。
答案 0 :(得分:2)
据我所知,在Java中没有办法做到这一点。由于键盘命令由操作系统处理,因此让Java执行此操作的唯一方法是编写一些低级别的JNI。我通过在C ++中编写一个X事件处理程序(用于基于* nix的操作系统)完成了类似的操作。由于Java中的关键事件是每个GUI组件,因此无法在全球范围内执行此操作。当我编写X事件句柄时,我遇到了处理限制的挑战,即一次只有一个应用程序可以获取密钥。 (XGrabKey)。