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

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

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

我试过了:

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

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

您是否尝试过使用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 -> Composite to Your Dialog -> Composite

希望这会有所帮助。

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