Programación concurrente

La clase Timer en Java Swing

En este artículo se explicará cómo utilizar la clase Timer en Java Swing para programar tareas que se ejecuten después de un cierto retraso o de forma periódica, lo que es útil para crear interfaces de usuario dinámicas y reactivas.

¿Qué es la clase Timer en Java Swing?

La clase Timer en Java Swing es una herramienta que permite programar tareas para que se ejecuten después de un cierto retraso o de forma periódica. Es especialmente útil para crear interfaces de usuario dinámicas y reactivas, como animaciones, actualizaciones de pantalla o temporizadores.

Cómo usar la clase Timer

Para utilizar la clase Timer, debes seguir estos pasos:

  1. Importar la clase javax.swing.Timer.
  2. Crear una instancia de Timer, especificando el retraso en milisegundos y un ActionListener que define la tarea a ejecutar.
  3. Iniciar el temporizador con el método start().
  4. Detener el temporizador con el método stop() si es necesario.

Ejemplo de uso de Timer

Supongamos que queremos crear una aplicación que muestre un contador que se actualiza cada segundo. Podemos usar la clase Timer para lograr esto de la siguiente manera:

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TimerExample {
    private int count = 0;
    private JLabel label;

    public TimerExample() {
        JFrame frame = new JFrame("Timer Example");
        label = new JLabel("Count: " + count);
        frame.add(label);
        frame.setSize(200, 100);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        // Crear un Timer que se ejecute cada 1000 ms (1 segundo)
        Timer timer = new Timer(1000, e -> {
            count++;
            label.setText("Count: " + count);
        });
        timer.start();
    }
}
void main(String[] args) {
    SwingUtilities.invokeLater((Runnable) () -> new TimerExample());
}
Copyright Jesús Aurelio Castro Magaña © 2026