El Timer es un componente de java que nos ayuda a ejecutar una funcion cada cierto tiempo, vamos a usar la clase javax.swing.Timer.
Para poder usar la clase javax.swing.Timer es necesario crear un proyecto en Java y agregar un JFrame Form.
Te puede interesar: Listar Archivos de una Carpeta en Java
Despues tenemos que hacer es importar algunas clases/librerias.
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer;
Estas librerias sirven para que funcione el timer y para crear los eventos y listeners.
Ahora viene la definicion del Timer.
Timer timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// Tu Codigo
}
});Ahora que ya tenemos definido el timer, en el espacio tu codigo vas a insertar el codigo que quieres que se ejecute cada cierto tiempo.
El tiempo lo definimos en la primera linea el numero 1000 equivale a cada cuantos milisegundos se va a ejcutar el codigo, 1000 milisegundos= 1 segundo.
Asi el codigo se va a ejecutar cada segundo, el intervalo de tiempo lo podemos cambiar de acuerdo a nuestra necesidad.
Iniciar Timer
Una vez definido el timer es necesario iniciarlo.
timer.start();
Asi tenemos el control de el timer, primero podemos definir todo y la funcion start() la colocamos dentro del evento click de un boton o cualquier otro evento.
Detener timer
Tambien lo podemos detener.
timer.stop();
Y lo podemos reiniciar.
timer.restart();
Ver el status del timer
Para saber si el timer esta inicado o corriendo tenemos el metodo isRunning() que devuelve true si el timer esta corriendo.
if(timer.isRunning()){
// El timer esta corriendo
}TimerTask: Es una clase abstracta que implementa la interfazRunnable. El código que pongas dentro del métodorun()es lo que se ejecutará “mágicamente” cuando el tiempo se cumpla.Milisegundos: En Java, el tiempo siempre se mide en milisegundos. Si quieres que algo ocurra cada segundo, debes poner
1000.Hilos (Threads): Es importante mencionar que el
Timercrea un hilo separado. Esto significa que tu programa principal puede seguir funcionando mientras el reloj corre de fondo.
Ya para finalizar comentar que el componente javax.swing.Timer es muy practico y siempre podemos tener el control.
Una de las ventajas de usar este Timer es que podemos acceder a los controler de Swing para leer o escribir valores, por ejemplo un boton, un textbox, etiquetas, progressbar entre otros.