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