2

我有一个这样的用户工作:

    Job job = new Job("bla1") {

                @Override
                protected IStatus run(IProgressMonitor monitor) {
                    monitor.beginTask("Dummy 2", 100);
                    for (int i = 0; i < 100; i++) {
                        if (monitor.isCanceled()) {
                            return Status.CANCEL_STATUS;
                        }
                        System.out.println(i);
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException e) {

                            e.printStackTrace();
                        }
                        monitor.worked(1);
                    }
                    monitor.done();
                    return Status.OK_STATUS;
                }

            };

            job.setUser(true);
            job.schedule();

当此作业开始时,我会看到一个带有 3 个按钮的进度对话框:在后台运行、取消和详细信息,显示作业的进度。这也显示在状态栏上。如果我按“在后台运行”,对话框将被隐藏,但您仍会在状态栏上看到进度。如果我想取消作业,我不能再取消了,因为即使我按下状态栏中的小按钮(在进度视图中显示后台操作)也无法再次显示对话框。

如果有人可以帮助我,我会很高兴:)。

4

0 回答 0