嘿,使用这个代码片段:
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_H);
robot.keyRelease(KeyEvent.VK_H);
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);
robot.keyPress(KeyEvent.VK_L);
robot.keyRelease(KeyEvent.VK_L);
robot.keyPress(KeyEvent.VK_L);
robot.keyRelease(KeyEvent.VK_L);
robot.keyPress(KeyEvent.VK_O);
robot.keyRelease(KeyEvent.VK_O);
} catch (AWTException e) {
e.printStackTrace();
}
我得到这个结果:
hallo
但是有什么办法可以缩短这个过程吗?例如像这样的东西:
try {
Robot robot = new Robot();
String word = "hallo";
// something like:
robot.keyPress(KeyEvent.word);
} catch (AWTException e) {
e.printStackTrace();
}
我知道这个例子不起作用,但我找不到任何关于这个的文档。
你有什么想法吗?问候和感谢
最佳答案
如果您使用的是 Java 7,则可以使用 KeyEvent.getExtendedKeyCodeForChar
从字符中获取 key 代码的方法:
import java.awt.event.KeyEvent;
[...]
public static void type(Robot robot, String word) {
for (int i = 0; i < word.length(); i++) {
int keyCode = KeyEvent.getExtendedKeyCodeForChar(word.charAt(i));
robot.keyPress(keyCode);
robot.keyRelease(keyCode);
}
}
[...]
Robot robot = new Robot();
type(robot, "hallo");
关于Java => 缩短机器人命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21705218/