我想知道使用org.eclipse.core.runtime.jobs.Job
报告org.eclipse.swt.widgets.ProgressBar
的进度是否可行和良好做法。
javadoc表示run
的{{1}}方法需要org.eclipse.core.runtime.jobs.Job
个参数。但是我不想使用jface org.eclipse.core.runtime.IProgressMonitor
而我宁愿使用非对话框小部件。
有人可以提供建议吗?
答案 0 :(得分:3)
查看org.eclipse.ui.internal.progress.ProgressManager
,org.eclipse.core.runtime.jobs.ProgressProvider
扩展org.eclipse.jface.dialogs.ProgressIndicator
以提升工作进度。您可以提供ProgressProvider,它可以返回您首选的IProgressMonitor以用于Jobs。您可以将其基于{{1}}或直接使用ProgressBar。
如RCP中的https://stackoverflow.com/users/9204/alexey-romanov所述,如果可能,您应该使用IProgressSevice,并且可以在工作台中已经提供的ProgressView中显示您的进度。
答案 1 :(得分:2)
在RCP应用程序中,最佳做法是使用IProgressService
。