0
我下面写的代码XTEND:如何取消进度监视器eclipse4.4
void doMyMethod(IProgressMonitor monitor, Collection myCollection) {
val subMonitor = SubMonitor.convert(monitor, myCollection.size());
subMonitor.setTaskName("My Task Name...");
myCollection.forEach [ element |
if(subMonitor.canceled || monitor.canceled)
{
throw new OperationCanceledException
}
subMonitor.worked(1)]
}
意味着当用户从UI取消进度监视器停止进度监视器。但没有工作。我正在关注Using prograess monitor,它说在eclipse 4.6中不能使用monitor.split。 奇怪的是,如果我把一个调试点@ subMonitor.worked(1)并在调试模式下运行eclipse,它会按预期工作,并取消监视器,如果从UI中取消,但如果删除调试点则不工作。任何想法都会非常有帮助,因为如果调试模式起作用,我的想法仍然不足,它也应该没有它!
嗯,这应该无法在Eclipse火星完全运行,因为副监视器类没有在该版本中存在。我一直发现进度监视器取消操作非常缓慢。 –
对不起,我有Luna的目标。所以SubMonitor只能来自Luna。让我编辑我的问题比..感谢输入,greg-449 – lifeline2