In this tutorials, I am going to show you how to create a clock using Java. Here Java clock is developed using swings and Java Threads.

Java Clock Example :

Clock.java

Clock.java
import java.awt.*; 
import javax.swing.*;        
import java.util.*; 
 
class Clock extends JFrame implements Runnable 
{ 
  Thread runner;  
  Font clockFont; 
  
     public Clock() 
     { 
       super("Java clock"); 
       setSize( 350, 100); 
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       setVisible(true); 
       setResizable(false);                              
    
       clockFont = new Font("Serif", Font.BOLD, 40);     
        
       Container contentArea = getContentPane(); 
       ClockPanel timeDisplay = new ClockPanel(); 
 
  
       contentArea.add(timeDisplay);                     
       setContentPane(contentArea); 
       start();                                          
      
     } 
      
     class ClockPanel extends JPanel 
     { 
      public void paintComponent(Graphics painter ) 
        { 
        Image pic = 
          Toolkit.getDefaultToolkit().getImage("background.jpg"); 
          
         if(pic != null) 
            
          painter.drawImage(pic, 0, 0, this);      
      
          painter.setFont(clockFont);                    
          painter.setColor(Color.black); 
          painter.drawString( timeNow(), 60, 40); 
          
        } 
     } 
 
      
     //getting current time 
     public String timeNow() 
     { 
       Calendar now = Calendar.getInstance(); 
       int hrs = now.get(Calendar.HOUR_OF_DAY); 
       int min = now.get(Calendar.MINUTE); 
       int sec = now.get(Calendar.SECOND); 
        
       String time = zero(hrs)+":"+zero(min)+":"+zero(sec); 
        
       return time; 
     } 
 
 
      
     public String zero(int num) 
     { 
       String number=( num < 10) ? ("0"+num) : (""+num); 
       return number;                                    //Add leading zero if needed 
        
     } 
      
      
     public void start() 
     { 
       if(runner == null) runner = new Thread(this); 
       runner.start(); 
                                                              
     } 
 
 
     public void run() 
     { 
       while (runner == Thread.currentThread() ) 
       { 
        repaint(); 
                                                          
           try 
             { 
               Thread.sleep(1000); 
             }catch(InterruptedException e){ 
                System.out.println("Thread failed"); 
             }     
       } 
     } 
      
     public static void main(String [] args) 
     { 
       Clock eg = new Clock(); 
     } 
}

Output :

Java Clock
Happy Learning 🙂