2014-10-27 16 views
0

我有一个带有按钮和其他控件的主GUI类。 当其中一个按钮(比如说btnGo)被选中时,它将被禁用,并启动一个SwingWorker(当前是不同类的一部分)来执行某些操作。SwingWorker在主类中改变按钮

我希望在SwingWorker完成时再次启用该按钮。

如何让我的“孩子班”(缺乏更好的词)更新我的主要GUI类中的控件?

回答

1

将参考按钮传递给您的SwingWorker子类的构造函数。然后,在.done()方法中,您可以重新启用它。

.done()方法在GUI线程上运行,因此它可以安全地更改按钮状态。

另一种方法是将该按钮注册为SwingWorkerPropertyChangeListener,以便在工作完成时得到通知。