@Override public void update(Graphics g){
  int xh, yh, xm, ym, xs, ys;
  int s=0, m=10, h=10;
  String today;
  currentDate=new Date();
  formatter.applyPattern("s");
  try {
    s=Integer.parseInt(formatter.format(currentDate));
  }
 catch (  NumberFormatException n) {
    s=0;
  }
  formatter.applyPattern("m");
  try {
    m=Integer.parseInt(formatter.format(currentDate));
  }
 catch (  NumberFormatException n) {
    m=10;
  }
  formatter.applyPattern("h");
  try {
    h=Integer.parseInt(formatter.format(currentDate));
  }
 catch (  NumberFormatException n) {
    h=10;
  }
  xs=(int)(Math.cos(s * Math.PI / 30 - Math.PI / 2) * 45 + xcenter);
  ys=(int)(Math.sin(s * Math.PI / 30 - Math.PI / 2) * 45 + ycenter);
  xm=(int)(Math.cos(m * Math.PI / 30 - Math.PI / 2) * 40 + xcenter);
  ym=(int)(Math.sin(m * Math.PI / 30 - Math.PI / 2) * 40 + ycenter);
  xh=(int)(Math.cos((h * 30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30 + xcenter);
  yh=(int)(Math.sin((h * 30 + m / 2) * Math.PI / 180 - Math.PI / 2) * 30 + ycenter);
  formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
  today=formatter.format(currentDate);
  g.setFont(clockFaceFont);
  g.setColor(getBackground());
  if (xs != lastxs || ys != lastys) {
    g.drawLine(xcenter,ycenter,lastxs,lastys);
    g.drawString(lastdate,5,125);
  }
  if (xm != lastxm || ym != lastym) {
    g.drawLine(xcenter,ycenter - 1,lastxm,lastym);
    g.drawLine(xcenter - 1,ycenter,lastxm,lastym);
  }
  if (xh != lastxh || yh != lastyh) {
    g.drawLine(xcenter,ycenter - 1,lastxh,lastyh);
    g.drawLine(xcenter - 1,ycenter,lastxh,lastyh);
  }
  g.setColor(numberColor);
  g.drawString(today,5,125);
  g.drawLine(xcenter,ycenter,xs,ys);
  g.setColor(handColor);
  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);
  lastxs=xs;
  lastys=ys;
  lastxm=xm;
  lastym=ym;
  lastxh=xh;
  lastyh=yh;
  lastdate=today;
  currentDate=null;
}

@ Override public void update ( Graphics g ) { int xh , yh , xm , ym , xs , ys ; int s = 0 , m = 10 , h = 10 ; String today ; currentDate = new Date ( ) ; formatter . applyPattern ( "s" ) ; try { s = Integer . parseInt ( formatter . format ( currentDate ) ) ; } catch ( NumberFormatException n ) { s = 0 ; } formatter . applyPattern ( "m" ) ; try { m = Integer . parseInt ( formatter . format ( currentDate ) ) ; } catch ( NumberFormatException n ) { m = 10 ; } formatter . applyPattern ( "h" ) ; try { h = Integer . parseInt ( formatter . format ( currentDate ) ) ; } catch ( NumberFormatException n ) { h = 10 ; } xs = ( int ) ( Math . cos ( s * Math . PI / 30 - Math . PI / 2 ) * 45 + xcenter ) ; ys = ( int ) ( Math . sin ( s * Math . PI / 30 - Math . PI / 2 ) * 45 + ycenter ) ; xm = ( int ) ( Math . cos ( m * Math . PI / 30 - Math . PI / 2 ) * 40 + xcenter ) ; ym = ( int ) ( Math . sin ( m * Math . PI / 30 - Math . PI / 2 ) * 40 + ycenter ) ; xh = ( int ) ( Math . cos ( ( h * 30 + m / 2 ) * Math . PI / 180 - Math . PI / 2 ) * 30 + xcenter ) ; yh = ( int ) ( Math . sin ( ( h * 30 + m / 2 ) * Math . PI / 180 - Math . PI / 2 ) * 30 + ycenter ) ; formatter . applyPattern ( "EEE MMM dd HH:mm:ss yyyy" ) ; today = formatter . format ( currentDate ) ; g . setFont ( clockFaceFont ) ; g . setColor ( getBackground ( ) ) ; if ( xs != lastxs || ys != lastys ) { g . drawLine ( xcenter , ycenter , lastxs , lastys ) ; g . drawString ( lastdate , 5 , 125 ) ; } if ( xm != lastxm || ym != lastym ) { g . drawLine ( xcenter , ycenter - 1 , lastxm , lastym ) ; g . drawLine ( xcenter - 1 , ycenter , lastxm , lastym ) ; } if ( xh != lastxh || yh != lastyh ) { g . drawLine ( xcenter , ycenter - 1 , lastxh , lastyh ) ; g . drawLine ( xcenter - 1 , ycenter , lastxh , lastyh ) ; } g . setColor ( numberColor ) ; g . drawString ( today , 5 , 125 ) ; g . drawLine ( xcenter , ycenter , xs , ys ) ; g . setColor ( handColor ) ; 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 ) ; lastxs = xs ; lastys = ys ; lastxm = xm ; lastym = ym ; lastxh = xh ; lastyh = yh ; lastdate = today ; currentDate = null ; }
paint is the main part of the program
