bonjour,
j'ai un petit probleme avec mon rafraichissement d'affichage. je voudrais afficher une valeur aleatoire dans un JTextFormatted pour cela j'utilise SwingWorker. J'ai beau regarder tout les tutos et les forums, je ne pige pas tout dans l'utilisation SwingWorker. j'ai la derniere valeur qui est afficher mais pas les valeurs précedentes. comment faire?


le main:
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
17
18
public class GeLiPaNas {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
 
       SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                /* Démarrage de l'interface graphique et du SwingWorker. */
                SwingUti demo = new SwingUti();
                SwingUtiWorker swingWorker = demo.new SwingUtiWorker();
                swingWorker.execute();
            }
        });
 
    }
    }
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class SwingUti extends JFrame{
 
    ////// declaration de ce qu'on a besoin
 
    public JLabel titre;
    public JFormattedTextField reponse;
 
 
    ///////////////////////////////////////////////////////////////////
   public class SwingUtiWorker extends SwingWorker<Integer,Integer> {
 
        public int valeur;
        public int valeur_min = 0;
        public int valeur_max = 999;
 
        public SwingUtiWorker(){
 
        }
 
        @Override
        public Integer doInBackground(){ // la variable valeur prend une valeur aléatoire 100x
            try {
                        Thread.sleep(500);
                    } catch(InterruptedException e) {
                        e.printStackTrace();
                    }
            for(int i=0;i<1000;i++){
            Random r = new Random();
            valeur = valeur_min + r.nextInt(valeur_max-valeur_min);
//            System.out.println(valeur);
            }
 
       return valeur;
 
 
        }
 
 
 
        @Override
        protected void done(){
 
            System.out.println("traitement terminé");
            reponse.setValue(valeur);
            System.out.println(valeur);
        }
 
    }
 
    public SwingUti(){
// construction de l'interface
 
}
}
Merci par avance pour votre aide.