Возникает проблема когда я пытаюсь обновить индикатор выполнения.
Вот основной поток кода. Пользователь выбирает файл журнала с помощью каталогаDialog и нажимает кнопку запуска. При нажатии кнопки выполняется следующий код.
Код: Выделить всё
startButton.addMouseListener(new MouseAdapter() {
public void mouseUp(MouseEvent e) {
pm.setUserData(ud,progressBar);
progressBar.getDisplay().asyncExec(new Runnable() {
@Override
public void run() {
pm.startProcessing();
}
});
}
Код: Выделить всё
while ((logEntry = br.readLine()) != null) {
readSize += logEntry.length() + 1;
//some long processing logic
progressBar.setSelection(getProgress());
}
Код: Выделить всё
(read/total)*100
Я пробовал использовать Swing Worker и display.asyncExec()
Подробнее здесь: https://stackoverflow.com/questions/303 ... m-a-thread