import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.MessageFormat;
import javax.swing.Timer;
public class Sandbox {
private static int i = 0;
public static void main(String[] args) {
ActionListener listener = new ActionListener() {
@Override public void actionPerformed(ActionEvent event) {
i++;
System.out.println(MessageFormat.format(
"{0}: {1} ms", i, System.currentTimeMillis() % 1000000));
}
};
System.out.println(MessageFormat.format(
"start: {0} ms", System.currentTimeMillis() % 1000000));
Timer timer = new Timer(1000, listener);
timer.start();
timer = new Timer(1000, listener); /* replace timer */
timer.start();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.exit(0);
}
}
/*
output:
start: 849,378 ms
1: 850,574 ms
2: 850,574 ms <-- exact same millisecond
3: 851,569 ms
4: 851,570 ms <-- same millisecond, slight delay
*/