java 实时时间_java 实时显示系统时间 急!!!

展开全部

import java.awt.*;

import java.awt.event.*;

import javax.swing.Timer;

import java.awt.geom.*;

import java.util.*;

class Clock extends Canvas implements ActionListener

{

Date date;

Timer secondtime;

int hour,munite,second;

Line2D secondLine,muniteLine,hourLine;

int a,b,c;

double pointsx[]=new double[60];

double pointsy[]=new double[60];

double pointmx[]=new double[60];

double pointmy[]=new double[60];

double pointhx[]=new double[60];

double pointhy[]=new double[60];

public Clock()

{

secondtime=new Timer(1000,this);

pointsx[0]=0;

pointsy[0]=-100;

pointmx[0]=0;

pointmy[0]=-90;

pointhx[0]=0;

pointhy[0]=-70;

double angle=6*Math.PI/180;

for(int i=0;i<59;i++)

{

pointsx[i+1]=pointsx[i]*Math.cos(angle)-Math.sin(angle)*pointsy[i];

pointsy[i+1]=pointsy[i]*Math.cos(angle)+Math.sin(angle)*pointsx[i];

pointmx[i+1]=pointmx[i]*Math.cos(angle)-Math.sin(angle)*pointmy[i];

pointmy[i+1]=pointmy[i]*Math.cos(angle)+Math.sin(angle)*pointmx[i];

pointhx[i+1]=pointhx[i]*Math.cos(angle)-Math.sin(angle)*pointhy[i];

pointhy[i+1]=pointhy[i]*Math.cos(angle)+Math.sin(angle)*pointhx[i];

}

for(int i=0;i<60;i++)

{

pointsx[i]=pointsx[i]+120;

pointsy[i]=pointsy[i]+120;

pointmx[i]=pointmx[i]+120;

pointmy[i]=pointmy[i]+120;

pointhx[i]=pointhx[i]+120;

pointhy[i]=pointhy[i]+120;

}

secondLine=new Line2D.Double(0,0,0,0);

muniteLine=new Line2D.Double(0,0,0,0);

hourLine=new Line2D.Double(0,0,0,0);

secondtime.start();

}

public void paint(Graphics g)

{

for(int i=0;i<60;i++)

{

int m=(int)pointsx[i];

int n=(int)pointsy[i];

if(i%5==0)

{

g.setColor(Color.red);

g.fillOval(m-4,n-4,8,8);

}

else

{

g.setColor(Color.cyan);

g.fillOval(m-2,n-2,4,4);

}

}

g.fillOval(115,115,10,10);

Graphics2D g2d=(Graphics2D)g;

g2d.setColor(Color.red);

g2d.draw(secondLine);

BasicStroke bs=new BasicStroke(3f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);

g2d.setStroke(bs);

g2d.setColor(Color.blue);

g2d.draw(muniteLine);

bs=new BasicStroke(6f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER);

g2d.setStroke(bs);

g2d.setColor(Color.green);

g2d.draw(hourLine);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==secondtime)

{

date=new Date();

String s=date.toString();

hour=Integer.parseInt(s.substring(11,13));

munite=Integer.parseInt(s.substring(14,16));

second=Integer.parseInt(s.substring(17,19));

int h=hour%12;

a=second;

b=munite;

c=h*5+munite/12;

secondLine.setLine(120,120,(int)pointsx[a],(int)pointsy[a]);

muniteLine.setLine(120,120,(int)pointmx[b],(int)pointmy[b]);

hourLine.setLine(120,120,(int)pointhx[c],(int)pointhy[c]);

repaint();

}

}

}

public class zhongbiao

{

public static void main(String args[])

{

Frame frm=new Frame();

frm.add(new Clock(),BorderLayout.CENTER);

frm.setSize(500,500);

frm.validate();

frm.setVisible(true);

frm.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

}

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值