ウィザードがあり、ジョブをバックグラウンドで実行する必要があります。ジョブが実行中であることを進行状況バーに表示したいのですが、同時に、ウィザードの GUI コンポーネントが無効になるのは望ましくありません。つまり、プログレス バーがバックグラウンドでジョブを表示している間もウィザードを使い続けたいと考えています。出来ますか?
みんなのおかげで私を助けてくれます!
ウィザードがあり、ジョブをバックグラウンドで実行する必要があります。ジョブが実行中であることを進行状況バーに表示したいのですが、同時に、ウィザードの GUI コンポーネントが無効になるのは望ましくありません。つまり、プログレス バーがバックグラウンドでジョブを表示している間もウィザードを使い続けたいと考えています。出来ますか?
みんなのおかげで私を助けてくれます!
バックグラウンド作業を行うために新しいジョブを開始することを確認する必要があるだけですが、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();