Liaison entre Timer et TimerTask
Bonjour à tous,
Je post car je rencontre un souci en JAVA. J'ai mis au point une classe afin de sauvegarder un état d'une appli toutes les n secondes. J'ai donc utilisé un timer pour cela :
Code:
1 2 3 4 5
|
private static Timer lanceSauveAuto;
lanceSauveAuto = new Timer();
lanceSauveAuto.schedule(new DefPeriode(), 0, temps); |
'temps' est par exemple fixé à 10000, soit 10 secondes. Cela appelle ma classe DefPeriode que j'ai défini comme suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public class DefPeriode extends TimerTask
{
private File SauvAuto;
public DefPeriode(){
}
public void run()
{
SauvAuto = new File();
SauvAuto.save();
}
} |
En utilisant cela, la méthode save() est appelé et tout le traitement se fait. Par contre si je veux en sortir, tout reste bloqué dans lanceSauveAuto.schedule(new DefPeriode(), 0, temps);
Je ne vois donc pas comment sortir. Je m'explique : il y a en fait une combobox avec Oui/Non dans l'appli. Lorsque le choix est Oui, cela lance le petit bout de code que j'ai marqué au début. Seulement, vu que l'on en sort pas, même si l'on choisit non, on reste dedans, et la méthode run() est appelée toutes les 10secondes.
J'ai essayé de rester clair malgré que l'appli soit assez grosse. Si vous avez des questions, n'hésitez pas.
Tsu