gpt4 book ai didi

java - 将 KeyListner 添加到 robot.mousePress 和 mouseRelease

转载 作者:行者123 更新时间:2023-11-30 11:24:24 26 4
gpt4 key购买 nike

我将一些代码放在一起来制作这个 robot.mousePress 和 robot.mouseRelease 程序,我可以将其设置为每 500 毫秒点击一次。唯一的问题是,当我打开程序时,它工作得很好。关掉它是个问题。我必须完全退出 eclipse 才能让程序停止。

我将如何以及在代码中的何处添加 keyListner,以便我可以按下按钮停止程序运行而无需退出 ADT?

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class AutoClicker {

public static int rate = 0;

public static void main (String[] args) {

while (rate == 0){
try{
System.out.println("Speed of the auto-clicker (in miliseconds):");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
rate = Integer.parseInt(in.readLine());
if (rate < 500) {
rate = 0;
System.out.println("Must be at least 500 miliseconds.");
}
} catch (NumberFormatException ex) {
System.out.println("Error - please try again.");
}
} catch (IOException e) {}

}
try {
Robot robot = new Robot();
while (true) {
try {
Thread.sleep(rate);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (InterruptedException ex) {}
}
}catch (AWTException e) {}
}

}

最佳答案

您可以使用它添加全局 key 监听器。
How can I listen for key presses (within Java Swing) across all components?

最后的无限 while 循环是这里的罪魁祸首。将其更改为 boolean 变量,您的监听器会将其设置为 false。

关于java - 将 KeyListner 添加到 robot.mousePress 和 mouseRelease,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20686110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com