Thursday 16 January 2014

ANALOG CLOCK

/*<applet code=clock.class height=300 width=400></applet>*/
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;
import java.awt.image.*;
import java.lang.*;
public class clock extends Applet implements ActionListener
{
int hour;
int min;
int second;
float h,m,s;

Label label1=new Label("hour");
Label label2=new Label("minute");
Label label3=new Label("second");

TextField text1=new TextField(3);
TextField text2=new TextField(3);
TextField text3=new TextField(3);
Button button=new Button("start");

public void init()
{

add(label1);
add(text1);
add(label2);
add(text2);
add(label3);
add(text3);
add(button);
button.addActionListener(this);

second=-90;
min=-90;
hour=-90;
}
public void paint(Graphics g)
{
g.setColor(Color.black);
int radius=91,j=0;
String num[]={"3","4","5","6","7","8","9","10","11","12","1","2"};
midcircle(202,147,103,g);
for(int i=0;i<360;i+=30)
g.drawString(num[j++],(int)(202+radius*Math.cos(Math.PI*i/180)),(int)(147+radius*Math.sin(Math.PI*i/180)));
g.setColor(Color.red);
ddaline(202,147,(int)(202+(radius-20)*Math.cos(Math.PI*(int)hour/180)),(int)(147+(radius-20)*Math.sin(Math.PI*(int)hour/180)),g);
g.setColor(Color.blue);
ddaline(202,147,(int)(202+(radius-10)*Math.cos(Math.PI*min/180)),(int)(147+(radius-10)*Math.sin(Math.PI*min/180)),g);
g.setColor(Color.green);
ddaline(202,147,(int)(202+radius*Math.cos(Math.PI*second/180)),(int)(147+radius*Math.sin(Math.PI*second/180)),g);
g.setColor(Color.red);
second++;
if(second>270)
{
second=-90;
min+=6;
hour+=(float)1/2;
if(hour>270)
hour=-90;
if(min>270)
min=-90;
}
for(double r=0;r<100000000;r++);
for(double r=0;r<100000000;r++);
for(double r=0;r<100000000;r++);
for(double r=0;r<100000000;r++);
for(double r=0;r<100000000;r++);

for(double r=0;r<20000000;r++);
for(double r=0;r<20000000;r++);
for(double r=0;r<20000000;r++);
for(double r=0;r<20000000;r++);
for(double r=0;r<20000000;r++);

for(double r=0;r<10000;r++);
for(double r=0;r<10000;r++);
for(double r=0;r<10000;r++);
for(double r=0;r<10000;r++);
for(double r=0;r<10000;r++);
repaint();
}

public void actionPerformed(ActionEvent ae)
{h=Integer.parseInt(text1.getText());
m=Integer.parseInt(text2.getText());
s=Integer.parseInt(text3.getText());

min=(int)(6*m-90);
hour=(int)((30*((m/60)+h))-90);

second=(int)(6*s-90);
if(ae.getSource()==button)
{


repaint();
}}

public void ddaline(int x1,int y1,int x2,int y2,Graphics g1)
{
int dx=x2-x1,dy=y2-y1,step;
float xinc,yinc,x,y;
if(Math.abs(dx)>Math.abs(dy))
step=Math.abs(dx);
else
step=Math.abs(dy);
xinc=(float)dx/step;
yinc=(float)dy/step;
x=x1; y=y1;
g1.drawString(".",(int)x,(int)y);
for(int i=1;i<step;i++)
{
x=x+xinc;
y=y+yinc;
g1.drawString(".",(int)x,(int)y);
}
}

public void midcircle(int xc,int yc,int r,Graphics g2)
{
int x2=0;
int y2=r;
int p=5/4-r;
while(x2<y2)
{
if(p<0)
{
x2++;
p=p+2*x2+2+1;
}
else
{
x2++;
y2--;
p=p+2*x2+2+1-2*y2+2;
}
g2.drawString(".",xc+x2,yc+y2);
g2.drawString(".",xc+y2,yc+x2);
g2.drawString(".",xc-y2,yc+x2);
g2.drawString(".",xc-x2,yc+y2);
g2.drawString(".",xc+x2,yc-y2);
g2.drawString(".",xc+y2,yc-x2);
g2.drawString(".",xc-y2,yc-x2);
g2.drawString(".",xc-x2,yc-y2);
}
}
}




No comments:

Post a Comment