watch.java
上传用户:xianglan
上传日期:2007-01-07
资源大小:3k
文件大小:2k
源码类别:

Applet

开发平台:

Java

  1. /*                             X11Like.java
  2.    Copyright F. P. Marin ( April 07 13:12:53 1997 )
  3.    E-mail: felix@bloch.ciens.ucv.ve
  4.    
  5.    Permission to use, copy, modify and distribute this software and its
  6.    documentation for NON-COMERCIAL purposes and without fee is hereby
  7.    granted provided that this copyright notice appears in all copies.
  8.    F. P. Marin makes no representations or warranties about the suitability
  9.    of the software, either express or implied, including but no limited to
  10.    the implied warranties of merchantability, fitness for a particular
  11.    purpose, or non-infringement. F. P. Marin shall not be liable for any
  12.    damage suffered by license as a result of using, modifying or
  13.    distributing this software or its derivatives.
  14.    Html code is
  15.    <applet archive="X11Like.jar"                            
  16.               code="X11Like.class"                          
  17.             height=85                                       
  18.              width=325>
  19.    </applet>
  20. */
  21. import java.awt.*;
  22. import java.util.Date;
  23. public class X11Like extends java.applet.Applet implements Runnable
  24. {        
  25.        Font f=new Font("TimesRoman",Font.BOLD,14);
  26.        FontMetrics fm=getFontMetrics(f);
  27.        int x,y;
  28.        String s;
  29.        Thread watch=null;
  30.        public void init()
  31.        {
  32.         setLayout(new BorderLayout());
  33.         add("North",new Button(""));
  34.         add("South",new Button(""));
  35.         add("East",new Button(""));
  36.         add("West",new Button(""));
  37.         y=(int)(0.5*(size().height + fm.getAscent() + 1));
  38.        }
  39.        
  40.        public void start()
  41.        {
  42.         if ( watch==null ) {
  43.            watch=new Thread(this);
  44.            watch.start();
  45.         }
  46.        }
  47.        public void run()
  48.        {
  49.         do {
  50.             s=new Date().toLocaleString();
  51.             x=(size().width - fm.stringWidth(s))/2;
  52.             repaint();
  53.             try { 
  54.                  Thread.sleep(1000);
  55.             } catch ( InterruptedException ie ) {}
  56.         } while ( true ); 
  57.        }
  58.        public void update(Graphics g)
  59.        {
  60.         paint(g);
  61.        }
  62.        public void paint(Graphics g)
  63.        {
  64.         g.setColor(Color.black);
  65.         g.fillRect(0,0,size().width,size().height);
  66.         g.setColor(Color.green.brighter());
  67.         g.setFont(f);
  68.         g.drawString(s,x,y);
  69.        }
  70.        
  71.        public void stop()
  72.        {
  73.         if ( watch!=null ) {
  74.            watch.stop();
  75.            watch=null;
  76.         }
  77.        }
  78. }