我实现了一个jar,用于从DB中提取结果并写入excel文件。我的jar有两个按钮“执行”和“停止”。当我从GUI单击“执行”按钮时,我的代码可以运行,但让我们假设,如果我想立即“停止”执行,我将单击“停止”按钮,它将执行System.exit(0)
。有人可以帮我解决一下这个问题吗?
答案 0 :(得分:1)
确保“执行”按钮启动的任务在单独的线程中运行。如果仅在“执行”按钮的ActionListener中直接执行它,则将阻止事件线程,直到完成任务后,才会处理“停止”按钮。
答案 1 :(得分:0)
使用SwingWorker来实现此行为,它提供了在后台执行任务的能力(一个单独的线程),还提供了取消任务的能力。
希望这会有所帮助!