Верните диалоговое окно Progress Monitor после того, как нажмете "Запустить в фоновом режиме".
У меня есть пользователь Работа, как это:
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 кнопками: "Выполнить в фоновом режиме", "Отмена" и "Детали", показывающее ход выполнения задания. Это также отображается в строке состояния. Если я нажму "Запустить в фоновом режиме", диалоговое окно будет скрыто, но вы все равно увидите прогресс в строке состояния. Если я хочу отменить задание, я больше не могу, потому что диалоговое окно не может быть отображено снова, даже если я нажимаю маленькую кнопку в строке состояния (Показывает фоновые операции в режиме просмотра хода выполнения).
Буду рад, если кто-нибудь сможет мне помочь:).