Tag: awtrobot

Robot的getPixelColor(int x,int y)方法如何工作?

Robot类的方法getPixelColor(int x,int y)究竟是如何工作的? 我试过这个代码片段: try { Robot robos = new Robot(); } catch (AWTException e) { } for (int i = 0; i < 100; i++) robos.getPixelColor(0, 0); System.out.println("fsadf"); 在我的电脑上,这是一个核心2组合,执行print语句需要一秒或更短的时间。 但是,当我在我的笔记本电脑上运行相同的代码时,这是一个核心i3,它花费了更多的时间(大约2-3秒)。 这背后的原因是什么? 是否与屏幕质量有关? 我怎么解决这个问题?

Selenium Actions还是Java AWT Robot?

到目前为止,我已经使用了Selenium Actions库来在我们的自动化项目中执行鼠标/键盘操作。 最近,我发现了Java AWT Robot类。 它与Selenium Actions库的可比性如何? 在其中一个中是否存在另一个角落案例? 限制吗? 稳定性? 性能考虑?

Java搜索屏幕上的文本字段

我正在尝试创建一个程序,自动搜索屏幕上的文本字段,并在该文本字段中重复键入一个单词。 有没有可以找到文本字段的类? 或者有什么方法可以找到文本字段? 因为我知道Robot类可以键入文本,所以我只需要将光标放到文本字段并使用mousePress()和mouseRelease()方法。 谢谢

无法在Java中使用机器人按Window + L.

我正在使用Robot类来模拟Java中的按键。 但我无法按Window键+ L虽然我能够单独按下它们。 这是我的代码: private void pressKey() { Robot r=new Robot(); robot.keyPress(KeyEvent.VK_WINDOWS); robot.keyPress(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_WINDOWS); robot.keyRelease(KeyEvent.VK_L); }

如何使用java在整个屏幕上平滑移动鼠标?

有一个mouseMove()方法使指针跳转到该位置。 我希望能够让鼠标在整个屏幕上平滑移动。 我需要编写一个名为mouseGLide()的方法,该方法采用起始x,起始y,结束x,结束y,滑行应采取的总时间以及滑行期间要进行的步骤数。 它应该通过n步骤从(开始x,开始y)移动到(结束x,开始y)来为鼠标指针设置动画。 总滑行应该花费t毫秒。 我不知道怎么开始有人可以帮助我开始这个吗? 任何人都可以告诉我,为了使这个问题有效,我需要采取哪些步骤。

使用java.awt.Robot模拟退格键

使用java.awt.Robot模拟退格键似乎存在问题。 这个线程似乎证实了这一点,但它没有提出解决方案。 这有效: Robot rob = new Robot(); rob.keyPress(KeyEvent.VK_A); rob.keyRelease(KeyEvent.VK_A); 这不是: Robot rob = new Robot(); rob.keyPress(KeyEvent.VK_BACK_SPACE); rob.keyRelease(KeyEvent.VK_BACK_SPACE); 有任何想法吗?

我怎样才能让机器人输入一个`:`?

我想键入:使用Java Robot。 但是,我收到了IllegalArgumentException 。 我的代码是: robot.keyPress(KeyEvent.VK_SHIFT); robot.keyPress(KeyEvent.VK_COLON); robot.keyRelease(KeyEvent.VK_COLON); robot.keyRelease(KeyEvent.VK_SHIFT); 例外是: java.lang.IllegalArgumentException: Invalid key code.]. 我也尝试过: robot.keyPress(KeyEvent.VK_SHIFT); robot.keyPress(KeyEvent.VK_SEMICOLON); robot.keyRelease(KeyEvent.VK_SEMICOLON); robot.keyRelease(KeyEvent.VK_SHIFT); 我怎么解决这个问题?

无法使用按钮实例化类

我正在尝试制作一个屏幕捕获程序。 我所拥有的是一个透明窗口,它将捕获区域,并在其上capture一个按钮,我试图实例化一个类captureScreen ,当使用命令提示符单独执行captureScreen ,该类可以正常工作 我试图在按下capture按钮时实例化此captureScreen类。 我试过在screenrecord.java上保留这个class ,也把代码放在event listener 。 在这两种情况下,我都会遇到这些错误 AWTException,must be caught or declared 在 Robot robot = new Robot(); 和BufferedImage image行中的IOException。 保持captureScreen.java分离不会做任何事情。 System.out.println(“Start”); 甚至不打印任何东西。 这是我的screenrecord.java代码 public class screenrecord extends JFrame implements ActionListener{ public screenrecord() {… } public void actionPerformed(ActionEvent e){ if (“record”.equals(e.getActionCommand())) { captureScreen a = new captureScreen(); } } } 而captureScreen.java ,可以单独使用。 […]

是否需要在事件队列上运行Robot方法?

机器人是AWT库的一部分,但它似乎与大多数库的其余部分完全不同。 我正在创建一个Swing GUI,它将Swing与Java Native Access(JNA)和Robot混合在一起,以允许Java驱动某些MS Windows / Citrix工作程序。 我的直觉是,因为Robot会在“平台的本机输入队列”上排队事件,我想要做的最后一件事是在EDT上运行它,但另一方面,AWT和Swing库中的大多数类应该在Swing事件线程上运行。 因此,为了让我在脑海中澄清这一点,请让我尽可能具体地问一个问题: 机器人方法(特别是按键和释放,鼠标移动,鼠标按下和释放)是否应该在Swing事件调度线程(EDT)上运行?

如何以编程方式生成按键事件?

java程序应该做的是它应该在某些条件下触发键盘按下而无需人按键盘键。 因此,任何需要键盘输入的窗口和焦点运行的程序都可以在没有人实际按下键盘的情况下获得输入。 我在这里找到了这些相关问题: 问题1 , 问题2 我想知道在Java中是否有任何方法可以做到这一点。