Господа, я долго пытался понять, как же мне заставить работать програсс-бар, но у меня так ничего и не получилось.
Ситуация такая — обрабатывается большой массив объектов, понятно, что в for-цикле.
На JFrame есть прогрессбар.
Код выглядит примерно так:
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
for(Geoobject geoobject:Geoobjects){
//здесь нужно поменять значение прогрессбара
//Какие-то действия с объектом
for(Rajon rajon:geoobject.getRajonsSet()){
//Здесь нужно поменять текст на прогрессбаре
//Какие-то действия с объектом
}
}
});
progressBar не обновляется, пока работает for-цикл.
А как только он отработает, пользователь сразу же видит уже заполненный прогрессбар.
Причем при дебаге видно, что value у него меняется. Но на экране ничего не происходит.