当前位置: 代码迷 >> J2SE >> 时钟的有关问题
  详细解决方案

时钟的有关问题

热度:49   发布时间:2016-04-24 14:59:56.0
时钟的问题
import   java.util.*;
import   java.awt.*;
import   java.applet.*;
import   java.text.*;
public   class   JdkClock   extends   Applet   implements   Runable{
    Thread   timer=null;
    Image   clockp,sings[],animal[];
    int   s,m,h,hh;
    AudioClip   ipAu,towerAu;
    boolean   canPaint=true;
    boolean   flag=false;
    boolean   strike=true;
    int   counter=0;
    int   lasts;
    Image   offscreen_buff=null;
    Graphics   offg;
    int   i,j,t=0;
    int   timeout=166;
    String   img_name[]={ "t0 ", "t3 ", "t2 ", "t1 ", "t2 ", "t3 ", "t0 ", "t4 ", "t5 ", "t6 ", "t5 ", "t4 "};
    String   gif_name[]={ "1 ", "2 ", "3 ", "4 ", "5 ", "6 ", "7 ", "8 ", "9 ", "10 ", "11 ", "12 "};
    int   lastxs=0,lastys=0,lastxm=0,lastym=0,lastxh=0,lastyh=0;
    Date   dummy=new   Date();
    GregorianCalendar   cal=new   GregorianCaleadar();
      SimpleDateFormat   df=new   SimpleDateFormat( "yyyyMMddHH:mm:ss ");
    String   lastdate=df.format(dummy);
    Font   F=new   Font( "TimesRoman ",Font.PLAIN,14);
    Font   S=new   Font( "宋体 ",Font.BOLD,90);
    Date   dat=null;
    Color   fgcol=color.black;
    Color   fgcol2=color.blue;
    Color   white=new   Color(255,255,255);
  public   void   init(){
    ipAu=getAudioClip(getCodeBase(), "ip.au ");
    towerAu=getAudioClip(getCodeBase, "TowerClock.au ");
    offscreen_buf=creatImage(700,500);
    offg=offscreen_buf.getGrapics();
    simgs=new   Image[12];
    animal=new   Image[12];
    int   xcenter,ycenter,s,m,h;
    xcenter=315;
    ycenter=112;
    s=(int)cal.get(Calendar.SECOND);
    m=(int)cal.get(Calendar.MIMUTE);
    h=(int)cal.get(calendar.HOUR_OF_DAY);
    if(h <4)
    h=h+24-4;
    else   h=h-4;
    lastxs=(int)(Math.cos(s*3.14f/30-3.14f/2)*15+xcenter);
    lastys=(int)(Math.sin(s*3.14f/30-3.14f/2)*15+ycenter);
    lastxm=(int)(Math.cos(m*3.14f/30-3.14f/2)*13+xcenter);
    lastym=(int)(Math.sin(m*3.14f/30-3.14f/2)*13+ycenter);
    lastxh=(int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*9+xcenter);
    lastyh=(int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*9+ycenter);
    lasts=s;
    if(h <12)
        if(h!=11)hh=h+1;
        else   hh=0;
    else
    if(h!=23)hh=h-12+1;
    else   hh=0;
    MediaTracker   mt=new   MediaTracker(this);
    for(i=0;i <12;i++){
        simgs[i]=getImage(getCodeBase(),img_name[i]+ ".gif ");
        mt.addImage(simgs[i],i);
  相关解决方案