Rafraichir l'affichage de JTextField
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:
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:
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.