Setzt du die Werten denn auch schon vorher? In der JavaDoc is z.B. das Beispiel:
Java:
progressBar = new JProgressBar();
...//when the task of (initially) unknown length begins:
progressBar.setIndeterminate(true);
...//do some work; get length of task...
progressBar.setMaximum(newLength);
progressBar.setValue(newValue);
progressBar.setIndeterminate(false);
Habs nicht ausprobiert. Aber wenn das bei dir erst nach dem Aufruf gesetzt wird, dann wäre das ja logisch. Die Methodenaufrufe sind nicht asynchron, sondern synchron. Es wird gewartet, bis eine aufgerufene Methode fertig ist, bis weitere Anweisungen abgearbeitet werden.
EDIT:
Ich Idiot, was frag ich überhaupt, der Code steht ja weiter oben xD Du gibt der ProgressBar da auch kein Futter, vermutlich kann sie deswegen auch nicht rechtzeitig was richtig darstellen.