Eclipse RCP:在一个进度对话框中显示并行作业?

时间:2011-01-19 23:35:32

标签: java eclipse-rcp rcp

我想显示多个Jobs并行运行的进度,但只显示一个进度对话框。

但每次调用Job.setUser()似乎都会产生一个新的进度对话框。

我试过了:

  • 在所有作业上设置公共进度组(通过IJobManager.createProgressGroup()获取)。
  • 让一个父作业调用setUser()并加入所有并行作业所属的作业系列。 (这会导致后台任务在父作业上阻止进度的消息。)

我可以遵循哪种模式导致所有并行作业出现在一个进度对话框中?

2 个答案:

答案 0 :(得分:3)

您是否尝试过使用org.eclipse.ui.progress.UIJob。查看此链接 http://www.jdg2e.com/ch29.jobs/doc/index.html https://web.archive.org/web/20090406175007/http://www.jdg2e.com:80/请参阅页面底部的下载链接,但我不确定该解决方案在6年后的相关性。

本教程同时执行两个作业。

UIJobs

关于eclipse的好处是源代码很容易获得:)。只需破解进度视图源。基本上这个想法是一样的,你需要翻译的是Progress View -> CompositeYour Dialog -> Composite

希望这会有所帮助。

答案 1 :(得分:0)

ProgressMonitorFocusJobDialog只能显示一个作业的进度。如果您需要显示多个作业的进度,那么Progress View就是您的答案。如果用户单击“在后台运行”复选框

,该对话框将消失