请问actionPerformed是什么时候调用的?

/**
@version 1.00 2000-04-13
@author Cay Horstmann
*/

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;
// to resolve conflict with java.util.Timer

public class TimerTest
{

public static void main(String[] args)
{

ActionListener listener = new TimePrinter();

  // construct a timer that calls the listener
  // once every 10 seconds
  Timer t = new Timer(10000, listener);
  t.start();

  JOptionPane.showMessageDialog(null, "Quit program?");
  System.exit(0);

}
}

class TimePrinter implements ActionListener
{

public void actionPerformed(ActionEvent event)
{

Date now = new Date();
System.out.println("At the tone, the time is " + now);
Toolkit.getDefaultToolkit().beep();
}
}

该方法在main函数中,代码自上而下执行,并没有特别的去调用

action执行后调用