java - 使用按钮停止 for 循环

标签 java multithreading button

我正在尝试停止通过按下按钮启动的 for 循环。我发现的唯一问题是,一旦按下开始按钮,应用程序实际上就没有响应。我该如何制作停止按钮?目前,我可以在 IDE 之外停止该应用程序的唯一方法是进入任务管理器并强制删除它。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {    
String L = "Hello";
int Num = Integer.parseInt(m1.getText());
int Num2 = Integer.parseInt(m2.getText());
nu = Num;  
for (int kk = nu; nu > 0; nu--) {
    if (O1.isSelected()) {
        for (int num3 = nu; nu > 0; nu--) {
            try {
                try {
                    Thread.sleep(Num2 * 1000);
                } catch (InterruptedException ex) {}
                Robot robot = new Robot();
                robot.keyPress(KeyEvent.VK_F);
            } catch (AWTException e) {
                e.printStackTrace();
            }
        }                                        
    }
}

这是我的代码,我一直在寻找,我认为我需要使用 SwingWorker 类。但我不确定如何实现它。

最佳答案

您是否将循环放入按钮操作处理程序中?

如果是这样,请将其删除并放入线程中。否则它将阻止 EDT 并且应用程序将变得无响应。仅使用按钮来触发启动和停止。

关于java - 使用按钮停止 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375882/

相关文章:

java - JAVA中计算所有小于或等于N的数字的乘法表的程序

java - 使用 Typecaste (Java) 除以零异常

c++ - 在C++中收到输入时如何停止执行异步功能

objective-c - 复制NSMutableArray线程安全吗?

java - 如果通过大量线程快速添加/删除 LinkedList,对象会丢失吗?

c# - 使用 C# 条件更改按钮背景 WPF 鼠标悬停属性

Java 将输入追加到文件

css - 基于图像的按钮在 IE9 中模糊

java - 如何检查在 startActivityForResult 中按下了哪个按钮,重写 onActivityResult 方法?

java - 获取鼠标事件不是抽象错误