使用 org.eclipse.swt.widgets.ProgressBar 报告 org.eclipse.core.runtime.jobs.Job 的进度
我想知道使用 org.eclipse.swt.widgets.ProgressBar 报告 org.eclipse.core.runtime.jobs.Job 的进度是否可能且良好的做法。
javadoc 表示 org.eclipse.core.runtime.jobs.Job 的 run 方法采用 org.eclipse.core.runtime.IProgressMonitor > 论证。但是我不想使用 jface ProgressMonitorDialog
并且我宁愿使用非对话框小部件。
有人可以建议吗?
I would like to know whether it is possible and good practice to report the progress of a org.eclipse.core.runtime.jobs.Job
using a org.eclipse.swt.widgets.ProgressBar
.
The javadoc says that the run
method of org.eclipse.core.runtime.jobs.Job
takes a org.eclipse.core.runtime.IProgressMonitor
argument. However I don't want to use a jface ProgressMonitorDialog
and I'd rather a non-dialog widget.
Can anyone please advise?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看一下 org.eclipse.ui.internal.progress.ProgressManager,它扩展了 org.eclipse.core.runtime.jobs.ProgressProvider 来为作业提供进度。您可以提供一个 ProgressProvider,它可以返回您首选的 IProgressMonitor 以与作业一起使用。您可以将其基于 org.eclipse.jface.dialogs.ProgressIndicator 或直接使用 ProgressBar。
正如 RCP 中的 https://stackoverflow.com/users/9204/alexey-romanov 所提到的,您应该使用如果可能的话,可以使用 IProgressSevice,并且您可以在工作台中已提供的 ProgressView 中显示您的进度。
Have a look at
org.eclipse.ui.internal.progress.ProgressManager
, which extendsorg.eclipse.core.runtime.jobs.ProgressProvider
to provide progress to Jobs. You can provide a ProgressProvider, and that can return your preferred IProgressMonitor for use with Jobs. You can base it onorg.eclipse.jface.dialogs.ProgressIndicator
or work with ProgressBar directly.As mentioned by https://stackoverflow.com/users/9204/alexey-romanov in RCP you should use the IProgressSevice if possible, and you can display your progress in the ProgressView already provided in the workbench.
在 RCP 应用程序中,最佳实践是使用
IProgressService
。In an RCP application, the best practice is to use
IProgressService
.