使用Java Swing进行线程化

Lai*_*Lai 2 java swing multithreading swingworker

我有一个摆动工作者,配置串口连接.这个过程需要不确定的时间才能完成,有时需要1分钟才能完成.

当用户在工作线程仍在配置时单击需要配置数据的按钮时,我的问题就出现了.

我想知道如果工作线程已经完成,如何执行用户的请求.如果工作线程还活着,我希望执行等到工作线程完成.

mKo*_*bel 5

  • 添加PropertyChangeListenerSwingWorker,然后您可以从中确定状态SwingWorker

  • 必须get()SwingWorker's方法中实现done(),否则无法从调用的方法中获取一个exeption

  • 取决于代码,但我怀疑是否有可能改变设置,直到当前线程结束,更好的可能是SwingWorker#cancel()然后重新启动此实例

  • +1基本上是正确的 - 下一个+10会用于一些示例代码(或者你的一个例子的链接:-) (2认同)