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:
et le reste du code:
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 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(); } }); } }
Si vous pouvez detailler merci. chui du genre a apprendre vite mais à comprendre lentement
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 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é"); } } }surtout qu'en c'est trop vague.
Partager