我有一个SwingWorker,它在后台执行一些计算(这些操作位于覆盖的doInBackground()
方法中)。所以,我也使用方法开始计算。如何在完成这些计算后得到结果?SwingWorker得到结果
回答
覆盖done
方法 - 该方法将在工作完成时调用。 Oracle有一个全面的教程在这里:Improve Application Performance With SwingWorker in Java SE 6
还看到另一个SO问题:How do I use SwingWorker in Java?
你可以叫get
检索结果,但如果工人没有完成的线程将阻塞,直到工人完成。这意味着如果您从事件调度线程(EDT)调用get
,那么如果工作人员没有完成,您的GUI将不会响应。您可以致电isDone
以确定工人是否已完成工作。
最后,您可以附加一个属性更改侦听器,以通知工作人员的进度,包括何时完成其任务。我发布的第一个链接就是一个例子。
我需要完全返回语句。如果我只是调用我的工人的doInBackground方法,会发生什么? – dizpers 2011-12-24 17:00:30
它会运行,可能会阻止美国东部时间。相反,实例化worker和'execute()'它,如示例中所示。 – trashgod 2011-12-24 17:08:58
@dizpers _什么时候会发生,我只是叫doInBackground_地狱崩溃;-)像往常一样,当你做某些事情**非常错误** - 只需坚持在java文档和关于并发性教程一章中广泛解释的用法Swing – kleopatra 2011-12-25 12:32:43
- 1. SwingWorker任务执行()的奇怪结果
- 2. 得到location_once_scrolled_into_view结果
- 3. 得到无效结果?
- 4. gamecenter没有得到结果
- 5. 的PhoneGap geocoder.geocode得到结果
- 6. MYSQL得到的结果
- 7. 从DialogFragment得到结果
- 8. Asp.Net WebApi得到结果
- 9. 得到错误的结果
- 10. onActivityResult没有得到结果
- 11. Ajax没有得到结果
- 12. `preg_match`未能得到结果
- 13. 得到零结果(android)
- 14. onActivityResult没有得到结果
- 15. Java过程得到结果
- 16. Node.JS + MySQL - 得到结果
- 17. Paypal_IPN没有得到结果?
- 18. HTML结果得到编码
- 19. django send_mail得到结果
- 20. func.max得到意想不到的结果?
- 21. 从JSON到textview没有得到结果
- 22. 如何读取SwingWorker的结果*而无需等待?
- 23. 得到随机的结果轮胎::结果::收集
- 24. 获取结果后得到的结果jQuery UI自动完成
- 25. 无结果得到结果异步函数
- 26. 如何从SQL结果得到最大的结果PostgreSQL的
- 27. 数组结果不断得到最后的结果
- 28. 获得MySQL结果
- 29. 芹菜结果,得不到工作
- 30. Dllcall AutoIt的部分得到结果
分享一些代码! – 2011-12-24 16:44:36
现在没有代码。现在我想想如何连接SwingWorker和我的模型以及应用程序的MVC结构视图 – dizpers 2011-12-24 17:02:12