gpt4 book ai didi

Java => 机器人执行错误命令

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

我创建了这个机器人:

   try {
// Create class
Robot robot = new Robot();

// Wait 2 sec
robot.delay(2000);

// Get mouse on "texteditor"-symbol
robot.mouseMove(920, 840);

// Press it
robot.mousePress( InputEvent.BUTTON1_MASK );
robot.delay( 100 );
robot.mouseRelease( InputEvent.BUTTON1_MASK );

// Wait 2 sec
robot.delay( 2000 );

// Write "Hello" in "texteditor"
robot.keyPress(KeyEvent.VK_H);
robot.delay( 1000 );
robot.keyPress(KeyEvent.VK_E);
robot.delay( 1000 );
robot.keyPress(KeyEvent.VK_L);
robot.delay( 1000 );
robot.keyPress(KeyEvent.VK_L);
robot.delay( 1000 );
robot.keyPress(KeyEvent.VK_O);

} catch (AWTException e) {
e.printStackTrace();
}

好吧,当我启动程序时会发生什么? :

  1. 机器人等待 2 秒。 => 好

  2. 鼠标移到文本编辑器符号上 => 好

  3. 按下=>文本编辑器打开=>好

  4. 机器人等待 2 秒 => 好

  5. 机器人在文本编辑器中写了“l”,其余的单词可以在机器人的源代码中找到=>不好!

有什么建议我做错了什么或者我该怎么做吗?问候和感谢!!

最佳答案

根据 the documentation :

public void keyPress(int keycode)

Presses a given key. The key should be released using the keyRelease method. (...)

您的代码仅按下按键,而不会释放它们。打开您最喜欢的文本编辑器,然后尝试手动输入“hello”,而无需释放您按下的任何键。当您必须输入第二个 L 时会发生什么?该键已被按下。

使用适当的版本尝试以下代码:

robot.keyPress(KeyEvent.VK_H);
robot.keyRelease(KeyEvent.VK_H);
robot.delay( 1000 );
robot.keyPress(KeyEvent.VK_E);
robot.keyRelease(KeyEvent.VK_E);
robot.delay( 1000 );
/* ... */

关于Java => 机器人执行错误命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703458/

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