当延迟时间很长时,Java程序终止

时间:2015-08-13 08:26:47

标签: java delay execute

我正在编写一个代码,可以在任何10分钟内移动鼠标。 但是当我在Robot.delay函数中放置一个高于100,000(10分钟= 600,000毫秒)的值时,程序只打印"它有效!"然后终止。

为什么会这样?

public class MoveEach10Mins {

static boolean flag;
static int CurrentXpos = 0;
static int CurrentYpos = 0;

public static void main(String[] args) {

    System.out.println("It works!");

    try {
        Robot r = new Robot();
        while (true) {
            PointerInfo a = MouseInfo.getPointerInfo();
            Point b = a.getLocation();
            CurrentXpos = (int) b.getX();
            CurrentYpos = (int) b.getY();

            r.delay(600000);
            if (flag) {
                flag = false;
                r.mouseMove(CurrentXpos - 1, CurrentYpos);
                System.out.println("moved");
            } else {
                flag = true;
                r.mouseMove(CurrentXpos + 1, CurrentYpos);
                System.out.println("moved again");
            }

        }
    } catch (Exception e) {
        // TODO: handle exception
    }

}

}

1 个答案:

答案 0 :(得分:5)

来自documentation

  

抛出:   IllegalArgumentException - 如果ms不在0到60,000毫秒之间