Crear temporizador en JavaFx
En Java, puede surgir la necesidad de que ciertas tareas programadas se realicen más tarde o con retraso. Realizaremos esto agregando un temporizador al código Java.
Para añadir un temporizador al código utilizaremos la clase Timer
y la clase TimerTask
del paquete java.util
.
Para usar la clase java.util.Timer
, primero debemos importarla. Use la palabra clave importar
seguida de la clase deseada para este propósito.
import java.util.Timer;
De manera similar, para usar la clase TimerTask
, primero debemos importarla. Usamos la palabra clave import
seguida de la clase deseada para este propósito.
Importamos la clase java.util.TimerTask
en el proyecto Java.
import java.util.TimerTask;
Queremos programar una tarea simple para imprimir el mensaje Hello World en 5 segundos.
Veamos el código para realizar esto, seguido de una explicación sección por sección del código dado junto con el resultado.
Crear temporizador en JavaFX
En este ejemplo, primero importamos las clases Timer
y TimerTask
, y luego dentro del método main()
, creamos un objeto de la clase Timer
y una clase interna anónima para realizar una tarea.
Dado que la clase TimerTask
implementa la interfaz Runnable
, anulamos el método run()
para realizar la tarea y luego usamos el método schedule()
.
Ejecutamos la tarea. El método schedule()
toma dos argumentos, el primero es el objeto de la tarea y el segundo es el tiempo de retraso.
Vea el ejemplo a continuación.
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);
}
}
Producción :
Hello World
La parte principal de la programación de la tarea se realiza utilizando el método timer.schedule()
de la clase Timer
. La firma de esta función es la siguiente:
public void schedule(TimerTask task, long delay)
Programa la tarea especificada para su ejecución después del retraso especificado.
Los parámetros son tarea, programado y retrasado, y retraso en milisegundos antes de la ejecución.
Las posibles excepciones que lanza son IllegalArgumentException
si el retraso es negativo, o delay + System.currentTimeMillis()
es negativo.
La IllegalStateException
, si la tarea ya estaba programada o cancelada, el temporizador se canceló o el subproceso del temporizador terminó, NullPointerException
si la tarea es nula.
Escribimos timer.schedule(task, 5000l)
para programar la tarea, el primer parámetro es el objeto de la tarea previamente definido y el segundo parámetro es el retraso requerido.
Como necesitamos un retraso de 5 segundos, igual a 5000 milisegundos, pasamos 5000l
como segundo parámetro.
La l
denota un tipo de datos largo. Como resultado, el mensaje Hello World
se imprime en la salida después de un retraso de 5 segundos o 5000 milisegundos.
Podemos realizar tareas más complicadas reemplazando la declaración de impresión con las declaraciones requeridas.
Conclusión
En este tema, hemos aprendido a agregar un temporizador a un programa Java siguiendo un ejemplo para programar una tarea simple para imprimir, lo que nos da una idea de cómo se podría aplicar este concepto en casos de uso del mundo real.