Capture3.PNG - Developing Clock In java using Multi threading

Developing Clock In java using Multi threading

Posted on
Growing Clock In java utilizing Multi threading

Capture3 - Developing Clock In java using Multi threading

import java.util.*;

import java.awt.*;

import java.applet.*;

import java.textual content.*;

public class Clock extends Applet implements Runnable

{

Thread timer;       // The thread that shows clock

SimpleDateFormat formatter;  // Codecs the date displayed

Date currentDate;            // Used to get date to show

Coloration handColor,numberColor;   // Coloration of principal arms and dial// Coloration of second hand and numbers

int xcenter = 80, ycenter = 55; // Middle place

public void init()

{

formatter = new SimpleDateFormat (“EEE MMM dd hh:mm:ss yyyy”);

currentDate = new Date();

handColor = Coloration.blue;

numberColor = Coloration.darkGray;

}

public void paint(Graphics g)

{

int xh, yh, xm, ym, xs, ys;

int s = 0, m = 10, h = 10;

String at the moment;

currentDate = new Date();

formatter.applyPattern(“s”);

s = Integer.parseInt(formatter.format(currentDate));

formatter.applyPattern(“m”);

m = Integer.parseInt(formatter.format(currentDate));

formatter.applyPattern(“h”);

h = Integer.parseInt(formatter.format(currentDate));

xs = (int) (Math.cos(s * Math.PI / 30 – Math.PI / 2) * 45 + xcenter);

ys = (int) (Math.sin(s * Math.PI / 30 – Math.PI / 2) * 45 + ycenter);

xm = (int) (Math.cos(m * Math.PI / 30 – Math.PI / 2) * 40 + xcenter);

ym = (int) (Math.sin(m * Math.PI / 30 – Math.PI / 2) * 40 + ycenter);

xh = (int) (Math.cos((h*30 + m / 2) * Math.PI / 180 – Math.PI / 2) * 30 + xcenter);

yh = (int) (Math.sin((h*30 + m / 2) * Math.PI / 180 – Math.PI / 2) * 30 + ycenter);

formatter.applyPattern(“EEE MMM dd HH:mm:ss yyyy”);

at the moment = formatter.format(currentDate);

g.setColor(numberColor);

g.drawString(at the moment, 5, 125);

g.drawLine(xcenter, ycenter, xs, ys);

g.setColor(handColor);

g.drawLine(xcenter, ycenter-1, xm, ym);

g.drawLine(xcenter-1, ycenter, xm, ym);

g.drawLine(xcenter, ycenter-1, xh, yh);

g.drawLine(xcenter-1, ycenter, xh, yh);

g.setColor(handColor);

g.drawArc(xcenter-50, ycenter-50, 100, 100, 0, 360);

g.setColor(numberColor);

g.drawString(“9”, xcenter-45, ycenter+3);

g.drawString(“3”, xcenter+40, ycenter+3);

g.drawString(“12”, xcenter-5, ycenter-37);

g.drawString(“6”, xcenter-3, ycenter+45);

}

public void begin()

{

timer = new Thread(this);

timer.begin();

}

public void cease()

{

timer = null;

}

public void run()

{

Thread me = Thread.currentThread();

whereas (timer == me)

{

strive

{

Thread.currentThread().sleep(100);

} catch (InterruptedException e) {}

repaint();

}

}

}

Supply projectgeek.com