【发布时间】:2012-10-25 15:08:29
【问题描述】:
我有一个向导,我需要在后台运行一个作业。 我希望进度条显示作业正在运行的事实,但同时,我不希望向导的 GUI 组件被禁用。 换句话说,我想在进度条在后台显示作业时继续使用向导。 有可能吗?
感谢大家帮助我!
【问题讨论】:
标签: java user-interface progress-bar jface wizard
我有一个向导,我需要在后台运行一个作业。 我希望进度条显示作业正在运行的事实,但同时,我不希望向导的 GUI 组件被禁用。 换句话说,我想在进度条在后台显示作业时继续使用向导。 有可能吗?
感谢大家帮助我!
【问题讨论】:
标签: java user-interface progress-bar jface wizard
你可以,你只需要确保你启动一个新的 Job 来做后台工作,但是 UI 更新仍然发生在 UI 线程中:
Job job = new Job("name") {
@Override
protected IStatus run(IProgressMonitor monitor) {
// Do some work
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
// Update UI
}});
return Status.OK_STATUS;
}
};
job.schedule();
【讨论】: