-
Listener sur Boolean
Bonsoir,
J'ai deux classes, A et B
dans ma classe A il y a un timer (avec timerTask qui me vérifie toute les X minutes le champ d'une base de donnée)
si le champs change j'ai un boolean Boo (avec getter setter) qui passe à l'etat False.
Maintenant dans ma classe B je fais :
Les requêtes se font bien toutes les X minutes, mais je n'arrives pas a voir le changement de Boo.
Je pensais faire un autres Timer dans B avec
.
Existe t'il un moyen de faire un listener cela m’éviterais de devoir faire un autre Timer.
Merci
-
Il faudrait un peu plus de code pour voir le problème, les explication étant assez vague et confuses :)
-
L'API bean de Java est fournie avec PropertyChangeListener (l'ecouteur), PropertyChangeEvent (l'evenement), PropertyChangeSupport (classe utilitaire pour invoquer les écouteurs lors d'un changement de valeur*), EventListenerList (une classe utilitaire pour stocker les ecouteurs). Évidement comme c'est bâti sur les événements AWT, ça demande une dépendance au module java.desktop.
* La page javadoc de la classe présente un bel exemple d'utilisation d'ailleurs.
De la même manière le toolkit JavaFX introduit BooleanProperty et SimpleBooleanProperty (la propriété observable), InvalidationListener et ChangeListener (les écouteurs d'invalidation et de changement) mais du coup du ça demande une dépendance au module javafx.base.
Sinon, pour éviter les dépendances a des modules dont ton application n'aura pas forcement besoin, c'est pas bien compliqué de programmer en utilisant le patron de conception Observateur en s'inspirant de implémentation AWT qui reste assez simple (une liste qui contient des observateurs qu'on invoque en cas de modification de valeur)
-
Salut,
Tu devrais voir du coter du design pattern Observer.
Il fera l'affaire pour ce que tu souhaites faire : https://www.tutorialspoint.com/desig...er_pattern.htm
-
Merci à tous pour les infos.:P