如何使SwingWorker不止一次启动..?

时间:2016-01-30 16:36:23

标签: java swing swingworker

在图像中,我创建了一个名为" filter"的按钮。根据当前状态筛选出特定数据集。我使用SwingWorker从数据库中检索数据。我现在的代码工作正常。一旦我点击按钮,它就会显示相关数据。但是当我再次以不同的状态点击它时,它不会显示所需的数据。我正在读取,doBackground方法只会被执行一次。有没有办法再把它关掉.. ??

enter image description here

1 个答案:

答案 0 :(得分:4)

您不能重新启动SwingWorker,而且您不想这样做。根据{{​​3}}:

  

SwingWorker只能执行一次。多次执行SwingWorker不会导致两次调用doInBackground方法。

您的解决方案是在按钮的ActionListener中创建一个新的SwingWorker实例并执行它;做到这一点,你可能会没事的。