Я работаю над программой Java, которая читает текстовые файлы, выполняет некоторые расчеты вероятности. Чтение файлов и все связанные с ними вычисления выполняются в цикле while.
Я создал графический интерфейс, используя JFrame, где я добавил индикатор выполнения (используя JProgressBar), чтобы показать прогресс, поскольку программе требуется некоторое время для обработки файлов.
Код выглядит так -
while( there are more files to read )
{
Read this file ;
Do calculations ;
Update progress bar ;
}
Теперь проблема заключается в том, что после запуска цикла while и обработки первого файла JFrame просто зависает. Индикатор выполнения не обновляется, и я не могу нажать ни одну кнопку в JFrame. Как только цикл while завершается, кадр обновляется, а индикатор выполнения обновляется до своего конечного значения (следовательно, индикатор выполнения начинается с 0, затем приостанавливается и, наконец, достигает 100).
Может ли кто-нибудь объяснить, почему JFrame зависает? Можно ли обновить его (индикатор выполнения в JFrame) в итерациях цикла while?
Спасибо !