我正在阅读多个帖子,但我无法找到我的问题的明确答案。
我有一个应用程序(主框架),它有一个开始和一个停止按钮,只有一个 jTextArea。当用户按下“开始”按钮时,SwingWorker 类被实例化并运行(execute())一个任务。该任务是连接到数据库并进行一些检查。对于每次检查,它都会正确更新 jTextArea 并且一切都很好。当按下停止按钮时,我将 isCancelled() 设置为 true,因此后台进程停止(我在 SwingWorker 内部进行了适当的检查以停止执行等)。
我想要做的是当用户按下“开始”时,SwingWorker 开始执行,休眠几分钟,然后重新运行相同的任务。当按下“停止”按钮时,一切都停止了。
我怎样才能做到这一点?我知道 SwingWorker 后台进程应该运行一次。这样做的其他方法是什么?请注意,我选择 SwingWorker 的原因是我想在后台进程运行时更新 jTextArea。
先感谢您。