Evilnapsis

Programming, Hacking and More

Java

Como crear y usar un Timer en Java

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.

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.

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.

Tambien lo podemos detener.

timer.stop();

Y lo podemos reiniciar.

timer.restart();

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
}

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.

Agustin Ramos

Desarrollador de Software

Leave a Reply