Использование ProgressMonitorDialog в Eclipse 4 правильно
У меня есть набор API, которые выполняют файловые операции, например,saveToFile(CustomObject objectToSave);
Поскольку файловая операция может быть длительной, я решил, что пользователю следует показать некоторые признаки, например, индикатор.
Я читал оProgressMonitorDialog
и поэтому я попробовал, но это не совсем работает так, как мне нужно (или, что лучше, я не знаю, как правильно его использовать).
В настоящее время я делаю:
ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(theShell);
try {
progressDialog.run(false, true, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Saving your data", 100);
try {
Utils.saveToFile(objectToSave);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
monitor.done();
}
});
Этот код показывает диалог прогресса очень быстро и заканчивается, но проблема в том, что на более медленном ПК это будет складываться доUtils.saveToFile
вернулся, пока я понятия не имею, как указать промежуточный процесс, пока сохранение не будет завершено.
Я нашелнить упоминание оIProgressMonitor.UNKNOWN
но это не говорит о том, что происходит вmonitor
вовремяperformRead(_fileName, monitor);
Как бы я решил это?