Digital clock using Java
This article describes the creation of a digital clock using Java. This application shows the system's current time.
Packages Imported
- import javax.swing.JFrame
Jframe is an extended version of Frame that supports the Swing component architecture.
The Format RGB shows the combination of red, green and blue color, and its value ranges between 0 and 255.
- import javax.swing.WindowConstants
WindowConstants is used for operations like window closing and so on.
Syntax
- public class DimensionDemo extends Object class
-
- import java.awt.event.ActionEvent
It imports only the "ActionEvent" class.
- import java.awt.event.ActionListener
An action event is fired, whenever any action is done by the user.
- import java.util.Calendar
The class java.util.Date defines an instance of time.
Graphics exists under the class that extends Object. Graphics is used to represent graphics on the window.
Syntax
- public class GraphicsDemo extends Object
-
- import java.awt.Dimension
Dimension is a class that extends the Object class.
- import javax.swing.JPanel
JPanel can be used in place of Canvas. The new feature of JPanel is Border.
- import javax.swing.Timer;
A Swing timer fires one or more action events after a specified delay.
Font is a class that represents fonts and it implements the serializable interface.
Syntax
public class FontDemo implements Serializable interface
Coding
- import java.awt.*;
-
- import java.util.*;
-
- import javax.swing.*;
-
- import java.awt.event.ActionListener;
- import javax.swing.Timer;
- import java.awt.event.ActionEvent;
- public class DigitalClock1 {
- public static void main(String[] args) {
- JFrame frm = new JFrame();
- frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
- SimpleDigitalClock clock1 = new SimpleDigitalClock();
- frm.add(clock1);
- frm.pack();
- frm.setVisible(true);
- }
- static class SimpleDigitalClock extends JPanel {
- String stringTime;
- int hour, minute, second;
- String aHour = "";
- String bMinute = "";
- String cSecond = "";
- public void setStringTime(String abc) {
- this.stringTime = abc;
- }
- public int Number(int a, int b) {
- return (a <= b) ? a : b;
- }
- SimpleDigitalClock() {
- Timer t = new Timer(1000, new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- repaint();
- }
- });
- t.start();
- }
- @Override
- public void paintComponent(Graphics v) {
- super.paintComponent(v);
- Calendar rite = Calendar.getInstance();
- hour = rite.get(Calendar.HOUR_OF_DAY);
- minute = rite.get(Calendar.MINUTE);
- second = rite.get(Calendar.SECOND);
- if (hour < 10) {
- this.aHour = "0";
- }
- if (hour >= 10) {
- this.aHour = "";
- }
- if (minute < 10) {
- this.bMinute = "0";
- }
- if (minute >= 10) {
- this.bMinute = "";
- }
- if (second < 10) {
- this.cSecond = "0";
- }
- if (second >= 10) {
- this.cSecond = "";
- }
- setStringTime(aHour + hour + ":" + bMinute + minute + ":" + cSecond + second);
- v.setColor(Color.BLACK);
- int length = Number(this.getWidth(), this.getHeight());
- Font Font1 = new Font("SansSerif", Font.PLAIN, length / 5);
- v.setFont(Font1);
- v.drawString(stringTime, (int) length / 6, length / 2);
- }
- @Override
- public Dimension getPreferredSize() {
- return new Dimension(200, 200);
- }
- }
- }
Output