Ask Questions?

View Latest Questions

Advertisement


 
 

Text Clock
Posted on: July 22, 2006 at 12:00 AM
This is a simple text clock.

Java: Example - Text Clock

This is a simple text clock.

See javax.swing.Timer for an explanation of how use this simple timer class.

In this example following swing components are used:

  • JFrame
  • JTextField
  • Timer

You can download, compile, run and test the application on your computer.

The latest version of JDK is needed to run this example code.

 

We have given the complete code of the example.

 

Following coding listing shows the complete code:

 

  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
Copyleft 2003 Fred Swartz MIT License
Advertisement


DMCA.com