gpt4 book ai didi

java - 如何在 Robot 类 KeyEvent 参数中放置一个 String 变量?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:33 26 4
gpt4 key购买 nike

我在 Java 中使用机器人类,我创建了一个用于按键的静态方法。我的问题是我希望能够使用主方法中的输入按下任意一个键,但是 keyPress 方法和 keyRelease 方法的参数不接受字符串。而且我不想使用很多 if 语句来按下那个键。这是我的代码:

public static void keyType(String key) throws AWTException {
Robot r = new Robot();
r.keyPress(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_A);
}

现在我想使用键变量(从我的主要方法输入)来决定按哪个键。我打算只在字符串中使用大写字母(例如“A”或“B”),并将 keyPress 和 keyRelease 参数中的 (KeyEvent.VK_A) 替换为 (KeyEvent.VK_ + key)。但后来我意识到它不接受或使用 String 参数,那我该怎么办?

最佳答案

如果我理解你的问题,你可以将键码解析为机器人按键方法。你不能使用 KeyEvent.VK_+"A" 但你可以使用 65。而不是 KeyEvent.VK_A 你可以使用 65 这是 A 的关键代码。

private void keyType(char key) {

int keyCode = (int) key;

Robot r = new Robot();
r.keyPress(KeyEvent.VK_A);
r.keyRelease(KeyEvent.VK_A);
}

如果您查看 keyEvent.class 的源代码,您可以看到实际上 VK_N 是什么。它只是一个带有键码的映射 int。

public class KeyEvent extends InputEvent {

public static final int VK_A = 65;
public static final int VK_B = 66;
public static final int VK_C = 67;
public static final int VK_D = 68;
public static final int VK_E = 69;

关于java - 如何在 Robot 类 KeyEvent 参数中放置一个 String 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35959651/

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