【发布时间】:2013-07-12 08:04:16
【问题描述】:
我有一个 GUI,而 GUI 正在启动另一个线程 (Java)。该线程正在启动一个正在爬取许多网站的类。现在我想在 GUI 中显示抓取了多少网站以及剩下多少网站。 我想知道什么是最好的解决方案。
第一个想法是在 GUI 中启动一个计时器,并定期询问爬虫还剩多少。但我想这很脏……
然后可以将 GUI 传递给爬虫,每次就绪网站的数量发生变化时,它都会调用 GUI 方法。但我不认为这更好吗?
做这样的事情最好的方法是什么?
【问题讨论】:
-
只允许GUI线程调用GUI方法。您不能将其传递给另一个线程。
-
@ErikEkman 好吧,从技术上讲,你可以,但是如果有很多
invokeLaters 就会变得一团糟……最好使用SwingWorker:P - 还有责任问题 - 实际上谁是负责更新 UI - 你和我会想出这个 GUI 类的答案,爬虫是,一个爬虫,让它爬 :P
标签: java user-interface