荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: icefire (拒绝再玩), 信区: Java
标 题: 会走动的时钟
发信站: BBS 荔园晨风站 (Mon May 18 18:39:02 1998), 转信
发信人: Trubo007 (创可贴), 信区: Java
标 题: 会走动的时钟
发信站: BBS 水木清华站 (Sat May 16 15:23:08 1998)
//现有一java小程序,预与大家共享,欢迎指教
import java.util.*;//常用程序类的接口
import java.awt.*;
import java.applet.*;
//implements Runnable 是多线程程序的接口
public class Clock extends Applet implements Runnable {
Thread timer = null;//定义线程实体timer
int xcenter=400, ycenter=50;
int Radius=ycenter-5;
public void init()
{
resize(400,125); //设置时钟程序窗口大小
setBackground(Color.white);//设置小应用程序的背景色
}
public void paint(Graphics g)
{
int xh, yh, xm, ym, xs, ys, s, m, h;
String today;
Date dat = new Date();//定义时间类dat
s = dat.getSeconds();//获得时间秒
m = dat.getMinutes();//获得时间分
h = dat.getHours();//获得时间小时
today = dat.toLocaleString();//获得字符串时间格式
g.clearRect(0, 0, size().width, size().height);// 清除小应用程序
xcenter = xcenter - 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'
--
来去如风
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.5]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店