2

ウィザードがあり、ジョブをバックグラウンドで実行する必要があります。ジョブが実行中であることを進行状況バーに表示したいのですが、同時に、ウィザードの GUI コンポーネントが無効になるのは望ましくありません。つまり、プログレス バーがバックグラウンドでジョブを表示している間もウィザードを使い続けたいと考えています。出来ますか?

みんなのおかげで私を助けてくれます!

4

1 に答える 1

1

バックグラウンド作業を行うために新しいジョブを開始することを確認する必要があるだけですが、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();
于 2012-10-25T15:23:25.150 に答える