gpt4 book ai didi

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 0 in AWT

转载 作者:行者123 更新时间:2023-12-01 19:08:46 25 4
gpt4 key购买 nike

这是我现在的代码,它编译得很好,但当我尝试运行它时,出现了上述错误。

import java.awt.*;
import java.awt.event.*;
import java.awt.Robot;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class GunningBot {

public static void main(String[] args) throws Exception {

Robot robot = new Robot();
Color color1 = new Color(195, 174, 196);

{
Rectangle rectangle = new Rectangle(0, 0, 1075, 700);

{
BufferedImage image = robot.createScreenCapture(rectangle);
search:
for (int x = 0; x < rectangle.getWidth(); x++) {
for (int y = 0; y < rectangle.getHeight(); y++) {
if (image.getRGB(x, y) == color1.getRGB()) {
robot.mouseMove(x, y);
break search;
}
}
}
}
}

robot.delay(0);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(0);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(15);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(0);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(1500);

robot.mouseMove(510, 440); //DO THIS BOTTOM LEFT

robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(500, 140); //MOVE TO LEFT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(250);

robot.mouseMove(500, 370); //DO THIS TOP RIGHT

robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(510, 370); //MOVE TO RIGHT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(250);

robot.mouseMove(700, 440); //DO THIS RIGHT CORNER MOVE LEFT 5

robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(690, 440); //MOVE TO LEFT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(250);

robot.mouseMove(315, 370); //DO THIS LEFT CORNER MOVE RIGHT 5

robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseMove(320, 370); //MOVE TO RIGHT 5 PXLS
robot.mouseRelease(InputEvent.BUTTON1_MASK);


}
}

我发现了许多关于过度扩展数组等的示例修复,但我不使用数组。所以我不明白如何修复这个脚本的这个错误。任何帮助都会很棒。

完整的错误是:

exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at GunningBot.main(GunningBot.java:39)

bufferimage 使用 Raster,这可能是问题所在吗?矩形只是设置屏幕截图的矩形。

另外,我正在使用 Notepad++ 编辑代码,但不知道如何在没有 Eclipse 的情况下设置异常。

最佳答案

错误在这些行中:

robot.delay(0);

我不确定您在这里要做什么,并且需要查看 Robot 类才能知道此方法实际上应该做什么。但由于它是 ArrayIndexOutOfBoundsException ,请尝试将参数更改为非零值。例如,试试这个:

robot.delay(1);

即使这解决了您的问题,它仍然不是“正确”的做事方式,因为您需要知道这个方法期望什么以及它应该做什么,以便您可以相应地传递参数。如果这不能解决您的问题,请向我们展示 Robot 类的代码。

关于java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 0 in AWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9089885/

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