Eclipse RCP:使用进度对话框切换透视图

时间:2018-08-27 11:59:49

标签: java eclipse rcp

我们有一个Eclipse RCP应用程序,它具有一些观点(所谓的“功能”)。在这些功能之间切换可能需要几秒钟,这就是为什么我想向用户显示进度对话框的原因

final Job jobMain = new Job("Opening feature ...") {

    @Override
    protected IStatus run(final IProgressMonitor monitor) {
        monitor.beginTask("Opening ...", 100);
        monitor.worked(50);
        while (!monitor.isCanceled()) {
            try {
                Thread.currentThread().sleep(200);
            } catch (InterruptedException e) {
            }
        }
        monitor.worked(50);
        monitor.done();

        return Status.OK_STATUS;
    }

};

Thread thread = new Thread(new Runnable() {

    @Override
    public void run() {
        jobMain.setUser(true);
        jobMain.setProgressGroup(Job.getJobManager().createProgressGroup(), 100);
        jobMain.schedule();
    }
});
thread.start();
try {
    thread.join();
} catch (InterruptedException e) {
}

Display.getDefault().asyncExec(new Runnable() {

    @Override
    public void run() {
        ftSelectedFeature.openFeaturePerspective();
        jobMain.cancel();
    }
});

我已经尝试了所有方法,并且上面的“解决方案”尽可能接近我想要的。问题是,进度对话框仅在打开功能透视图后显示 ftSelectedFeature.openFeaturePerspective())。

在功能透视图切换时,如何显示进度对话框?

0 个答案:

没有答案