Question technique SwingWorker
bonjour,
j'essaie de mettre à jour la valeur dans un JTextField . Pour cela, j'ai consulter le tutorial sur le SwingUtilities. Dans l'ensemble, je pense avoir compris pourquoi l'utiliser mais dans le détails, c'est pas encore sa.
Voici mon code dites ou je me suis planté s'il vous plait.
voici mon main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
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(); // ici Netbeans n'indique qu'il ne connait pas SwingUtiWorker souligné
swingWorker.execute();
}
});
}
} |
et le reste du code:
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
| public class SwingUti extends JFrame{
////// declaration de ce qu'on a besoin
public JLabel titre;
public JFormattedTextField reponse;
public SwingUti(){ // construction de l'interface graphique
// ici j'epargne les détails de construction
}
///////////////////////////////////////////////////////////////////
public class SwingUtiWorker extends SwingWorker<Integer,String> {
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
for(int i=0;i<100;i++){
Random r = new Random();
valeur = valeur_min + r.nextInt(valeur_max-valeur_min);
publish(""+valeur);
}
return valeur;
}
@Override
protected void process(List<Integer> intG){ //erreur ici est : java.awt.List does not take parameters
for(Integer ip : intG){
reponse.setValue(intG);
}
}
@Override
protected void done(){
System.out.println("traitement terminé");
}
}
} |
Si vous pouvez detailler merci. chui du genre a apprendre vite mais à comprendre lentement :mouarf: surtout qu'en c'est trop vague.