Riepilogando: ho la mia applicazione che esegue un compito estremamente gravoso per la CPU.
Dopo averla inglobata in un thread sicuro (usando SwingWorker come da tutorial del sito SUN) ho risolto il problema per il quale l'intera finestra non rispondeva piu' agli eventi durante il task.
Pero', attivando la Progress Bar, mi sono accorto che la finestra rimane comunque IDLE per parecchi secondi, e piu' volte durante il task: la barra resta ferma per tre-quattro secondi, scatta a recuperare il tempo perduto, avanza fluidamente per due-tre secondi, si riblocca...
Ho pensato che il problema poteva essere il garbage collector chiamato troppo frequentemente. Cosi' ho usato l'opzione di debug "-verbose:gc" della JVM e... magia delle magie... la finestra non si blocca piu'. In compenso, il task e' piu' lento (di circa il 10%)
In effetti il GC viene richiamato almeno venti volte al secondo, il che non e' normale...
Qualche idea su cosa succeda nei meandri della JVM?