Java For循环中的停止按钮

Java For循环中的停止按钮,java,button,for-loop,break,Java,Button,For Loop,Break,我一直在寻找一个停止按钮,但我找不到任何适用于我的代码 if (O1.isSelected()) { for (int nu = Num; nu > 0; nu--) { try { Robot robot = new Robot(); robot.delay(Num2 * 1000); robot.keyPress(KeyEvent.VK_H); robot.keyPr

我一直在寻找一个停止按钮,但我找不到任何适用于我的代码

if (O1.isSelected()) {
    for (int nu = Num; nu > 0; nu--) {
        try {
            Robot robot = new Robot();
            robot.delay(Num2 * 1000);
            robot.keyPress(KeyEvent.VK_H);
            robot.keyPress(KeyEvent.VK_E);
            robot.keyPress(KeyEvent.VK_L);
            robot.keyPress(KeyEvent.VK_L);
            robot.keyPress(KeyEvent.VK_O);
            robot.keyPress(KeyEvent.VK_SPACE);
            robot.keyPress(KeyEvent.VK_W);
            robot.keyPress(KeyEvent.VK_O);
            robot.keyPress(KeyEvent.VK_R);
            robot.keyPress(KeyEvent.VK_L);
            robot.keyPress(KeyEvent.VK_D);
            robot.keyPress(KeyEvent.VK_ENTER);
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }
}
我正在考虑让jbutton启动一个中断;但我似乎不能在for循环中使用jbuttonAction。任何帮助都是非常必要的


谢谢。

将按钮的单击处理程序设置为专用字段,以指示操作已停止,然后在安全位置取消时对该字段进行for循环检查:

for (int nu = Num; nu > 0; nu--) {
    try {
        Robot robot = new Robot();
        robot.delay(Num2 * 1000);
        if (this.stopRequested) {
            this.stopRequested = !this.stopRequested;
            break;
        }
        robot.keyPress(KeyEvent.VK_H);
        robot.keyPress(KeyEvent.VK_E);
        robot.keyPress(KeyEvent.VK_L);
        robot.keyPress(KeyEvent.VK_L);
        robot.keyPress(KeyEvent.VK_O);
        robot.keyPress(KeyEvent.VK_SPACE);
        robot.keyPress(KeyEvent.VK_W);
        robot.keyPress(KeyEvent.VK_O);
        robot.keyPress(KeyEvent.VK_R);
        robot.keyPress(KeyEvent.VK_L);
        robot.keyPress(KeyEvent.VK_D);
        robot.keyPress(KeyEvent.VK_ENTER);
    } catch (AWTException e) {
        e.printStackTrace();
    }
}

在循环外部创建jButtonActionPerformed事件,并将其设置为全局变量,然后在循环中添加一个条件以检查该变量的值。在这种情况下,stopRequested变量应声明为volatile。我不完全理解您的意思,请你再详细解释一下好吗?@NickHaughton:你不明白什么方面?我不明白在JButton1AActionPerformed下我会做什么。@NickHaughton:你会将stopRequested设置为true。如何执行此操作取决于处理程序方法的类相对于具有此for循环的代码的作用域。