gpt4 book ai didi

java - 为什么某些 KeyEvent 键码会抛出 "IllegalArgumentException: Invalid key code"?

转载 作者:行者123 更新时间:2023-12-02 01:59:03 24 4
gpt4 key购买 nike

我正在尝试使用 Robot 自动执行某些流程,并且 KeyEvent 中的某些键码(仅需要您在正常键入时按住 Shift 的符号)似乎会抛出异常一个IllegalArgumentException。这是在 main 中运行的所有代码:

Robot r = new Robot();
r.keyPress(KeyEvent.VK_EXCLAMATION_MARK);

但是,使用以下解决方法可以正常工作:

Robot r = new Robot();
r.keyPress(KeyEvent.VK_SHIFT);
r.keyPress(KeyEvent.VK_1);

有什么想法为什么抛出异常吗?谢谢!

Java版本:1.6.0_23

最佳答案

因为就像 Robot.keyPress 的文档所说,当 keycode 不代表有效的 key 时,会抛出 IllegalArgumentException ,并且VK_EXCLAMATION_MARK 不是有效 key 。

键码用于表示两件事:键盘上的按键和“输入字符”事件。键入一个字符通常需要多次按键(依次或同时或两者)。但是Robot.keyPress 模拟按键的行为(因此得名),而不是键入字符的行为。

有关详细信息,请参阅 KeyEvent 的文档:http://download.oracle.com/javase/6/docs/api/java/awt/event/KeyEvent.html

关于java - 为什么某些 KeyEvent 键码会抛出 "IllegalArgumentException: Invalid key code"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634375/

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