我有一个向导,我需要在后台运行作业。
我希望进度条显示作业正在运行的事实,但是同时,我不希望向导的GUI组件被禁用。
换句话说,当进度条在后台显示作业时,我想继续使用向导。
可能吗?

多亏大家会帮助我!

最佳答案

可以,您只需要确保启动一个新的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();

07-24 09:48
查看更多