Java Get Hour, Minute and Second


Simple code to make analog clock with Java. This section is to show how to get hour, minute and second from java.util.Calendar.
package myjavaexample; 

import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.Rectangle; 
import java.util.Calendar; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.WindowConstants; 

public class MyJavaExample extends JFrame 
{ 
    public void openImage() 
    { 
        JPanel pane = new JPanel() { 
            protected void paintComponent(Graphics g) { 
                super.paintComponent(g); 

                Calendar now = Calendar.getInstance(); 
                int hour = now.get(Calendar.HOUR); 
                int minute = now.get(Calendar.MINUTE); 
                int second = now.get(Calendar.SECOND); 

                Graphics2D g2d = (Graphics2D)g; 

                g2d.translate(0.5*this.getWidth(),0.5*this.getWidth()); 

                g2d.setColor(Color.BLUE); 
                Rectangle rect = new Rectangle(-20,-10, 100, 20); 
 
                double angle=Math.toRadians(-90+hour*360.0/12); 
                g2d.rotate(angle); 
                g2d.fill(rect); 
                g2d.rotate(-angle); 

                g2d.setColor(Color.BLACK); 
                rect = new Rectangle(-20,-10, 150, 20); 
                angle=Math.toRadians(-90+minute*360.0/60); 
                g2d.rotate(angle); 
                g2d.fill(rect); 
                g2d.rotate(-angle); 

                g2d.setColor(Color.RED); 
                rect = new Rectangle(-20,-5, 200, 10); 
 
                angle=Math.toRadians(-90+second*360.0/60); 
                g2d.rotate(angle); 
                g2d.fill(rect); 
                g2d.rotate(-angle); 
            } 
        }; 
        pane.setPreferredSize(new Dimension(400,400)); 
        add(pane); 
 
        setTitle("Rotating Image"); 
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
        setSize(200,200); 
        setLocation(100,100); 
        pack(); 
        setVisible(true); 

        Thread th=new Thread(new Runnable(){ 
            public void run() 
            { 
                while(true){ 
                    try{ 
                        Thread.sleep(10); 
                        pane.repaint(); 
                    }catch(InterruptedException e){} 
                } 
            } 
        }); 
        th.start(); 
    } 
 
    public static void main(String[] args) { 
        MyJavaExample mainwin=new MyJavaExample(); 
        mainwin.openImage(); 
    } 
} 

Comments



Popular posts from this blog

Simple Java Code HTML Highlighter

How to Use Extends and Implements

Fibonacci Algorithm in Java Array