home *** CD-ROM | disk | FTP | other *** search
/ Web Programming with Visual J++ / Web_Programming_with_Visual_J_SAMS.NET_Version_1.0_1997.iso / source / chap12 / ex12a.java < prev    next >
Text File  |  1996-09-22  |  1KB  |  62 lines

  1. import java.applet.*;
  2. import java.awt.*;
  3.  
  4. public class EX12A extends Applet implements Runnable
  5. {
  6.     protected Thread CounterThread;
  7.     protected Label CountLabel;
  8.     protected int count = 10;
  9.  
  10.     public void init()
  11.     {
  12.  
  13.         // provide something to look at
  14.         add(new Label("Count:"));
  15.         CountLabel = new Label(Integer.toString(count));
  16.         add(CountLabel);
  17.     }
  18.  
  19.     public void start()
  20.     {
  21.         if (CounterThread == null) {
  22.             // allocate the thread, using the local run method
  23.             CounterThread = new Thread(this);
  24.             CounterThread.start();
  25.         }
  26.     }
  27.     
  28.     public void stop()
  29.     {
  30.         if (CounterThread != null) {
  31.             // stop the thread
  32.             CounterThread.stop();
  33.             CounterThread = null;
  34.  
  35.         }
  36.     }
  37.  
  38.     public void run()
  39.     {
  40.         while (true) {
  41.             try {
  42.                 Thread.sleep(1000);
  43.             }
  44.             catch (InterruptedException e) {}
  45.  
  46.             CountDown();
  47.         }
  48.     }
  49.  
  50.     protected void CountDown()
  51.     {
  52.         count--;
  53.  
  54.         CountLabel.setText(Integer.toString(count));
  55.  
  56.         if (count == 0)
  57.             // reset to 11 since the first call will move it back
  58.             //   down to 10 and then display
  59.             count = 11;
  60.     }
  61. }
  62.