"listener" sur une fonction (détecter un changement de valeur sur une variable static de la classe)
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...
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
| 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
}
}
}
}
} |
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...
Est-ce que quelqu'un aurait une idée pour rendre le truc plus solide et plus propre ?
Merci d'avance