Créer une minuterie dans JavaFx
En Java, il peut être nécessaire que certaines tâches planifiées soient exécutées plus tard ou avec un retard. Nous allons effectuer cela en ajoutant une minuterie au code Java.
Pour ajouter un timer au code, nous allons utiliser la classe Timer
et la classe TimerTask
du package java.util
.
Pour utiliser la classe java.util.Timer
, nous devons d’abord l’importer. Utilisez à cet effet le mot-clé import
suivi de la classe souhaitée.
import java.util.Timer;
De même, pour utiliser la classe TimerTask
, nous devons d’abord l’importer. Nous utilisons à cet effet le mot-clé import
suivi de la classe souhaitée.
Nous importons la classe java.util.TimerTask
dans le projet Java.
import java.util.TimerTask;
Nous souhaitons planifier une tâche simple pour imprimer le message Hello World en 5 secondes.
Regardons le code pour effectuer cela, suivi d’une explication section par section du code donné avec la sortie.
Créer une minuterie dans JavaFX
Dans cet exemple, nous importons d’abord les classes Timer
et TimerTask
, puis à l’intérieur de la méthode main()
, nous avons créé un objet de la classe Timer
et une classe interne anonyme pour effectuer une tâche.
Puisque la classe TimerTask
implémente l’interface Runnable
, nous redéfinissons la méthode run()
pour effectuer la tâche, puis nous utilisons la méthode schedule()
.
Nous exécutons la tâche. La méthode schedule()
prend deux arguments, le premier est l’objet de la tâche et le second est le temps de retard.
Voir l’exemple ci-dessous.
import java.util.Timer;
import java.util.TimerTask;
public class SimpleTesting {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
// The task you want to do
System.out.println("Hello World");
}
};
timer.schedule(task, 5000l);
}
}
Production:
Hello World
L’essentiel de l’ordonnancement de la tâche est réalisé à l’aide de la méthode timer.schedule()
de la classe Timer
. La signature de cette fonction est la suivante :
public void schedule(TimerTask task, long delay)
Il planifie l’exécution de la tâche spécifiée après le délai spécifié.
Les paramètres sont la tâche, planifiée et retardée, et le délai en millisecondes avant l’exécution.
Les exceptions possibles qu’il lève sont IllegalArgumentException
si le délai est négatif, ou delay + System.currentTimeMillis()
est négatif.
L’IllegalStateException
, si la tâche était déjà planifiée ou annulée, le minuteur a été annulé ou le fil du minuteur s’est terminé, NullPointerException
si la tâche est nulle.
Nous écrivons timer.schedule(task, 5000l)
pour planifier la tâche, le premier paramètre est l’objet de tâche précédemment défini et le second paramètre est le délai requis.
Puisqu’on a besoin d’un délai de 5 secondes, égal à 5000 millisecondes, on passe 5000l
comme second paramètre.
Le l
désigne un type de données long. De ce fait, le message Hello World
est imprimé en sortie après un délai de 5 secondes ou 5000 millisecondes.
Nous pouvons effectuer des tâches plus compliquées en remplaçant l’instruction d’impression par les instructions requises.
Conclusion
Dans cette rubrique, nous avons appris à ajouter une minuterie à un programme Java en suivant un exemple pour planifier une tâche simple pour l’impression, nous donnant une idée de la façon dont ce concept pourrait être appliqué dans des cas d’utilisation réels.