简易时钟代码java java时钟程序代码( 三 )


-
1;
//
向左移动一个像素点
if
(xcenter
-50)
xcenter
=
400;
//
如果xcenter小于-50 , 则回到初始位置
//
计算秒的坐标
xs
=
(int)
(Math.cos(s
*
3.14f
/
30
-
3.14f
/
2)
*
(Radius
-
5)
+
xcenter);
ys
=
(int)
(Math.sin(s
*
3.14f
/
30
-
3.14f
/
2)
*
(Radius
-
5)
+
ycenter);
//
计算分钟的坐标
xm
=
(int)
(Math.cos(m
*
3.14f
/
30
-
3.14f
/
2)
*
(Radius
-
10)
+
xcenter);
ym
=
(int)
(Math.sin(m
*
3.14f
/
30
-
3.14f
/
2)
*
(Radius
-
10)
+
ycenter);
//
计算小时的坐标
xh
=
(int)
(Math.cos((h
*
30
+
m
/
2)
*
3.14f
/
180
-
3.14f
/
2)
*
(Radius
-
20)
+
xcenter);
yh
=
(int)
(Math.sin((h
*
30
+
m
/
2)
*
3.14f
/
180
-
3.14f
/
2)
*
(Radius
-
20)
+
ycenter);
g.setColor(Color.darkGray);
//
设置颜色
g.drawString("9",
xcenter
-
(Radius
-
5),
ycenter
+
3);
//
显示时钟上的数字‘9’
g.drawString("3",
xcenter
+
(Radius
-
10),
ycenter
+
3);
//
显示时钟上的数字‘3’
g.drawString("12",
xcenter
-
5,
ycenter
-
(Radius
-
13));
//
显示时钟上的数字'12'
g.drawString("6",
xcenter
-
3,
ycenter
+
(Radius
-
10));
//
显示时钟上的数字'6'
g.drawString(today,
0,
125);
//
显示字符串时钟
g.drawLine(xcenter,
ycenter,
xs,
ys);
//
画秒针
g.setColor(Color.blue);
//
设置颜色
g.drawArc(xcenter
-
Radius,
ycenter
-
Radius,
2
*
Radius,
2
*
Radius,
0,
360);
//
画钟
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);
//
画时针
}
public
void
start()
{
if
(timer
==
null)
{
timer
=
new
Thread(this);
//
生成Thread(多线程程序)的对象实体
timer.start();
//
启动生成的线程
}
}
public
void
stop()
{
timer.stop();
//
停止线程的工作
timer
=
null;
//
放掉Thread对象
}
public
void
run()
//
改方法用来定义线程体,一旦线程被启动执行,就开始执行这个方法
{
while
(timer
!=
null)
{
try
{
Thread.sleep(150);
//
使当前正在执行的线程进入睡眠时间由参数millis确定 , 

推荐阅读