这种情况是这样的:我有JFrame的Java swing应用程序。有textarea你可以键入的东西,然后你在另一个textarea的搜索结果,当你选择其中一个结果时,有一个按钮“下载”。问题来了。当你点击“下载”时,应用程序应该显示下载文件完整性的信息。我已经用一个名为DownloadManager的类来扩展Thread,它可以在一段时间内更新信息。不过,我担心可能会出现同步问题。有没有线程更新这种动态信息的标准方式? Java swing类中是否存在主循环或类似的东西?你怎么做呢?哪个更好 - 主循环还是单独的线程?
2
A
回答
3
看一看的SwingWorker:
http://download.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html
可能有更好的方法,但是这是我下载的东西,更新进度条时使用我的进度条。
2
任何更新Java中的GUI都应该由GUI事件分派线程完成。要强制在此线程中运行方法,您需要使用SwingUtilities.invokeLater。做其他事情可能会导致您的GUI挂起,而不是更新或其他奇怪!
这是一个描述它比我更好的一个很好的教程:
2
没有有没有这么多的问题同步。如果在Swing中使用后台线程考虑使用SwingWorker。
相关问题
- 1. 哪个循环在性能上更好 - foreach还是?
- 2. 线程,列表和循环不是一个好主意?
- 3. 哪个更好,原子之间的竞争:单个Warp的线程还是不同的Warps线程?
- 4. 单独的线程与无限循环阻塞gui更新Netbeans
- 5. PHP - 退出还是哪个更好?
- 6. 哪个更好? Java开发还是Webworks?
- 7. 哪个更好?碳还是可可? (Mac)
- 8. MySQL - 哪个更好:SELECT还是SELECT COUNT?
- 9. 哪一个更快?单独的HTML还是嵌入在PHP中?
- 10. 哪个更快,MogoDB聚合还是自我实现“For”循环?
- 11. 循环通过子类还是有更好的方法吗?
- 12. 主线程是前台线程还是后台线程?
- 13. 线程或JMS哪个更好?
- 14. 如何更新单独(主)循环中的TKinter显示?
- 15. 在循环内部还是在循环外部声明变量会更好吗?
- 16. 运行for循环时哪个更好/效率更高的coffeescript?
- 17. 主线程不在线程模块中的主循环错误
- 18. 次要消息循环与单独输入线程
- 19. Java单线程循环
- 20. 独立骆驼路线,还是ActiveMQ内独立的路线?
- 21. 哪个更好:使用多租户插件还是不同的环境?
- 22. 动画在单独的线程中循环,Native Client
- 23. PyGtk:在单独的线程中运行gtk.main()循环
- 24. MySQL:哪个更好,选择Update,还是更新?
- 25. 循环中的单独值
- 26. 速度更快...循环还是分裂?
- 27. 哪一个更好的做法:全局常量还是#define?
- 28. 串口读取+线程还是更好的?
- 29. 哪个更好,白名单还是黑名单安全,还是两者兼而有之?
- 30. Cocos2d:单层还是增加节点更好还是多层更好?