Bonjour

J'ai une boucle qui s'exécute 10000 fois. Comme c'est un peu long, je place un texte dans la statusbar indiquant la progression.
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
for (int y=0;y<10000;y++)
            {
                statusbar.setText("position : "+(y+1)+" sur 10000");
                fonction(y);
            }
Manque de peau, l'application ne se met pas à jour. Il y a donc blocage puis au bout de 20 secondes, affichage de :
position : 10000 sur 10000
et déblocage.

Je veux bien qu'une grosse fonction bloque une tâche, mais là, il y a bien des instructions intermédiaires entre les "fonction(y)"
En Delphi, il y avait une fonction Application.processmessages() pour ne pas bloquer l'application. Apparemment, pas pour swing.

J'utilise java version "1.6.0_07"

Avez vous une idée pour que l'affichage soit correct ?