This is a simple text clock. See javax.swing.Timer for an explanation of how use this simple timer class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
// TextClock.java -- Uses Timer, Calendar, JTextField. // -- Fred Swartz, 1999-05-01, 2001-11-02 // Enhancements: center, leading zeros, uneditable, 12 hour, alarm, timer. import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.Calendar; // only need this one class ////////////////////////////////////////////////////////////////// TextClock public class TextClock { //================================================================= main public static void main(String[] args) { JFrame clock = new TextClockWindow(); clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); clock.setVisible(true); }//end main }//endclass TextClock //////////////////////////////////////////////////////////// TextClockWindow class TextClockWindow extends JFrame { //=================================================== instance variables private JTextField timeField; // set by timer listener //========================================================== constructor public TextClockWindow() { // Build the GUI - only one panel timeField = new JTextField(6); timeField.setFont(new Font("sansserif", Font.PLAIN, 48)); Container content = this.getContentPane(); content.setLayout(new FlowLayout()); content.add(timeField); this.setTitle("Text Clock"); this.pack(); // Create a 1-second timer and action listener for it. // Specify package because there are two Timer classes javax.swing.Timer t = new javax.swing.Timer(1000, new ActionListener() { public void actionPerformed(ActionEvent e) { Calendar now = Calendar.getInstance(); int h = now.get(Calendar.HOUR_OF_DAY); int m = now.get(Calendar.MINUTE); int s = now.get(Calendar.SECOND); timeField.setText("" + h + ":" + m + ":" + s); } }); t.start(); // Start the timer }//end constructor }//endclass TextClock |