Bonjour à tous

voilà j'ai une partie de code qui demande a peu près 20 secc pour s'exécuter. Je voudrais pendant ce temps afficher une progressBar.

Mon code est de cette forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
               <<calculs gourmands en ressources>>
               <<Màj de n>>
}});
 
Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                progressBar.setValue(n);
}});
 
t.start();
t2.start();
while (t.isAlive()){} // je bloque l'excéution du code suivant tant que t est en train de calculer
le problème c'est que la progressBar ne se modifie pas. Elle augmente d'un coup à la fin jusqu'à 100%.

qu'est-ce que je fais de travers svp ?

merci