How do I use Swing Timer class?

In this example you’ll see how to use java.swing.Timer class to create a text clock program.

package org.kodejava.swing;

import javax.swing.*;
import java.awt.*;
import java.util.Calendar;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class TimerDemo extends JFrame {
    public static final DateFormat df = new SimpleDateFormat("hh:mm:ss");

    public TimerDemo() throws HeadlessException {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new TimerDemo().setVisible(true));

    private void initUI() {
        setSize(500, 500);

        Container container = getContentPane();
        container.setLayout(new FlowLayout(FlowLayout.CENTER));

        final JLabel label = new JLabel();

        Timer timer = new Timer(1000, e -> {
            Calendar now = Calendar.getInstance();
            String timeText =
                    "<html><font size='10' color='blue'>" +
                            df.format(now.getTime()) +

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.