Bonsoir,
Dans mon code java ,je veux afficher un message chaque 5minutes, est-ce qu'il y a une fonction qui me permet ça?
Merci.
Version imprimable
Bonsoir,
Dans mon code java ,je veux afficher un message chaque 5minutes, est-ce qu'il y a une fonction qui me permet ça?
Merci.
LA classe Timer.
Elle va te permettre d'exécuter du code tous les x temps.
En plus complexe, il existe le SwingWorker.
La classe swingworker permet de faire des traitements longs qui doivent raffraichir l'ihm. Typiquement, des calculs complexes et longs avec barre de progression qui indique ou on en est.
Bien sur, SwingWorker peut etre détournée pour etre utilisée en tant que timer mais ce n'est pas sa fonction premiere. Comme deja dit, c'est la classe Timer la plus adaptée pour ce besoin.
a+
Merci bien pour vos réponse :)
J'ai utilisé l'exemple suivant:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class SimpleTimer { public static void main (String[] args) { try { boolean finished = false; while (! finished) { Thread.sleep (2000); // En pause pour deux secondes finished = true; } System.out.println("hello"); } catch (InterruptedException exception){} } }
Alors, sans ordre particulier:
un while qui ne sert à rient
pas de répétition
pas d'utilisation du timer
a part le println, ce code n'a rien à voir avec la question posée
Je ne comprends pas non plus le lien avec le message original (le temps d'attente ne correspond pas, l'affichage du message n'est pas dans la boucle...)
Cela dit, si l'objectif du programme n'est que d'afficher une trace toutes les 5 minutes, il est effectivement possible de faire une boucle qui attend 5 minutes puis affiche une trace...
Bonjour,
5 minutes ou 2 secondes peu importe, mon objectif est de faire un traitement chaque x temps.
J’ai testé avec Thread.sleep (2000) et aussi un example avec une java.util.Timer
Quelle est la différence?Citation:
import java.util.Timer;
import java.util.TimerTask;
public class PrintTimer {
public static void main(String[] args) {
final PrintTimer pt = new PrintTimer();
final Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
System.out.println("Hello");
}
}, 0, 2000);
}
}
- java.util.Timer permet de répéter l'exécution de tâches à intervalles réguliers (ou de faire en sorte qu'elle s'exécute à un moment dans le futur.)
- Thread.sleep() permet d'attendre un certain temps. Cela sert à pas mal de choses, et entre autres ça a servi aux gens qui ont fait java.util.Timer.
Merci pour votre réponse :ccool: