Java Swing Timer

java, swing, timer

Solution

This simple program works for me:

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

public class Test {
    public static void main(String [] args) throws Exception{
        ActionListener taskPerformer = new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                //...Perform a task...

                System.out.println("Reading SMTP Info.");
            }
        };
        Timer timer = new Timer(100 ,taskPerformer);
        timer.setRepeats(false);
        timer.start();

        Thread.sleep(5000);
    }
}

Problem

``` ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { //...Perform a task... logger.finest("Reading SMTP Info."); } }; Timer timer = new Timer(100 ,taskPerformer); timer.setRepeats(false); timer.start(); ``` According to the documentation this timer should fire once but it never fires. I need it to fire once.

Original source