Bonjour,
J'ai un programme sous Swing. J'aimerai rafraichir une partie de l'écran lors du scan d'une carte (avec un lecteur mifare). Lors du scan, je modifie la valeur d'une variable static de la classe.
Actuellement, j'ai créé un thread... mais je trouve pas ça joli du tout :s et niveau fiabilité, c'est pas ça... ça marche 2 fois sur 3...
Voila mon code actuel... Je trouve ça pas top... mais j'ai aucune idée de comment faire autrement. L'idée serait d'avoir un "listener" sur ma méthode qui vérifie si la valeur de id est différente de idMemory...
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 public class maClasse extends JPanel { static public String id=""; static public String idMemory=""; public maClasse() { Update t = new Update(); //écoute si y a un changement sur id t.start(); } // pleins d'autres méthodes :) //class qui alerte quand il y a un changement sur id public class Update extends Thread { Thread t; public Update(){ super(); } public void run(){ while( true ) { if(id != idMemory) { annuleUser(); //si éventuellement un user ouvert, on le ferme updateInfo(); //la méthode qui met à jour la partie de l'écran id = idMemory; //on met à jour la valeur } } } } }
Est-ce que quelqu'un aurait une idée pour rendre le truc plus solide et plus propre ?
Merci d'avance
Partager