【发布时间】:2011-09-06 10:38:47
【问题描述】:
SwingWorker:的done()方法的Javadoc
在 doInBackground 方法之后在 Event Dispatch Thread 上执行 结束了。
我有线索表明,在取消工作人员的情况下,情况并非如此。Done 在每种情况下都会被调用(正常终止或取消),但是当cancelled 它未入队 到 EDT,就像正常终止一样。
在取消SwingWorker 的情况下,何时调用done 是否有更精确的分析?
澄清:
这个问题不是关于如何cancel 和SwingWorker。这里假设SwingWorker以正确的方式取消。
这不是关于线程在应该完成时仍在工作的情况。
【问题讨论】:
-
为什么不看源码?
-
这很奇怪。我有 Java 6,文档说 SwingWorker 包含在 Java 6 中,但我在 rt.jar 中找不到它! :-/
-
啊,它在 src.zip 但没有 .class 文件。太好了……
-
@mKorblel:我已经非常仔细地阅读了关于 SwingWorker 的教程,也阅读了 java 文档。如果你也有,你就会知道本教程只是展示了一个基本的取消示例,而不是详细说明。
-
@mKorblel:对不起,mKorblel,你仔细阅读我的问题了吗?
标签: java swing swingworker cancellation