01: import java.awt.*;
02: import java.awt.event.*;
03: import java.util.*;
04: import javax.swing.*;
05: import javax.swing.Timer;
06: 
07: /**
08:    This program shows a clock that is updated once per second.
09: */
10: public class TimerTest
11: {
12:    public static void main(String[] args)
13:    {
14:       JFrame frame = new JFrame();
15: 
16:       final int FIELD_WIDTH = 20;
17:       final JTextField textField = new JTextField(FIELD_WIDTH);
18:      
19:       Container contentPane = frame.getContentPane();
20:       contentPane.setLayout(new FlowLayout());
21:       contentPane.add(textField);
22: 
23:       ActionListener listener = new 
24:          ActionListener()
25:          {
26:             public void actionPerformed(ActionEvent event)
27:             {
28:                Date now = new Date();
29:                textField.setText(now.toString());
30:             }
31:          };
32:       final int DELAY = 1000; 
33:          // milliseconds between timer ticks
34:       Timer t = new Timer(DELAY, listener);
35:       t.start();
36: 
37:       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
38:       frame.pack();
39:       frame.show();
40:    }
41: }