繁体   English   中英

使用Java Swing进行线程化

[英]Threading with Java Swing

我有一个swing worker,它配置串行端口连接。 此过程需要花费不确定的时间才能完成,有时需要1分钟,有时甚至更多。

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

我想知道仅在工作线程完成后如何执行用户的请求。 否则,如果工作线程仍处于活动状态,则我希望执行等到工作线程完成为止。

如果task.isDone() (其中task是您的SwingWorker task.isDone() ,则可以签入按钮ActionEvent ,并且只有在它为true时才继续。 但是您可能想要显示一个弹出窗口或其他内容,否则用户可能会困惑为什么什么也没发生。

另一个简单的解决方案是在任务运行时公开按钮并禁用它,并在任务完成后再次启用它。 然后,用户只有在按钮准备就绪后才能单击它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM