如何在 Robot Class KeyEvent 参数中放置一个 String 变量?
How do you put a String variable in the Robot Class KeyEvent parameter?
我在 Java 中使用机器人 Class,我创建了一个用于按键的静态方法。我的问题是我希望能够使用主方法中的输入按下任意一个键,但是 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_ + 键)。但是后来我意识到它不接受或使用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
是什么。它只是一个带有键码的映射整数。
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;
其实,我找到了另一种方法来做到这一点。这个参数的参数是int,所以我找到了键盘上每个键的键码,从A(65)开始。现在我可以成功地从键盘获取输入了。如果还有人想看 link,这里是:Key Codes.
我在 Java 中使用机器人 Class,我创建了一个用于按键的静态方法。我的问题是我希望能够使用主方法中的输入按下任意一个键,但是 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_ + 键)。但是后来我意识到它不接受或使用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
是什么。它只是一个带有键码的映射整数。
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;
其实,我找到了另一种方法来做到这一点。这个参数的参数是int,所以我找到了键盘上每个键的键码,从A(65)开始。现在我可以成功地从键盘获取输入了。如果还有人想看 link,这里是:Key Codes.