Le timer - Java - Programmation
Marsh Posté le 17-01-2011 à 09:23:30
La méthode schedule que tu as utilisé "schedule(TimerTask task, long delay, long period)" programme l'execution toutes les 8 secondes.
Utilise une version qui ne lance la tache qu'une fois après un delai d'attente.
En bref :
Code :
|
Marsh Posté le 17-01-2011 à 22:04:05
c'est justement ce que je voudrais faire,mais je sais pas le faire.
Marsh Posté le 17-01-2011 à 23:48:52
...
Dans ton code, tu utilises la méthode à 3 paramètres :
- le TimerTask
- le délai (0)
- la période à laquelle le TimerTask est lancé (8000)
Il suffit juste que tu enlèves le 2ème paramètre
Marsh Posté le 18-01-2011 à 12:55:14
merci j'ai fait ce que tu as dit et sa à stoppé la répétition.Mais le problème c'est que sa fait l'inverse de ce que je veux,car le message n'est pas visible pendant 8 secondes puis il apparait ,alors que je veux que le message apparaisse pendant 8 secondes et qu'il ne sot plus visible.
Aurait tu une solution s'il te plait?
Marsh Posté le 18-01-2011 à 15:14:35
En fait, dans le TimerTask il faut mettre le code pour effacer le message.
Mais je pressent que ton problème en fait c'est que tu veux effacer un message affiché sur la sortie standard... et là je ne sais même pas si c'est possible (délai ou non).
Essaye plutôt d'afficher ton message dans quelque chose que tu peux masquer/supprimer après (interface swing par exemple).
Marsh Posté le 17-01-2011 à 00:05:12
Bonsoir tous le monde,j'ai un problème au niveau de mon code c'est à dire que je dois afficher un message pendant un laps de temps précis 8 secondes et passer ce laps de temps le message ne doit plus être visible.Pour ce faire j'ai donc utiliser un timer,le code que j'ai insérer marche mais ne donne pas le résultat voulue car il affiche mon message en continue toute les 8 secondes.C'est pourquoi je vous demande votre aide voici mon code.
<citation>import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
import java.util.*;
import java.awt.*;
public class projet
{
public static void main (String[] args) {
System.out.println("Niveau 1 veuillez tapez le nombre qui est affiché." );
Timer timer = new Timer();
timer.schedule (new TimerTask() {
public void run()
{
int a = 1030;/*initialisation de la variable dans le run*/
Scanner in = new Scanner(System.in);
System.out.println ( + a);
}
}, 0, 8000);
}
} </citation>