home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / awt / eventrepeater.java < prev    next >
Text File  |  1995-08-11  |  2KB  |  64 lines

  1. /*
  2.  * @(#)EventRepeater.java    1.5 95/01/31 Patrick Naughton
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. package awt;
  21.  
  22. /**
  23.  *    Thread to repeatedly call an event handler.
  24.  *
  25.  * @version 1.5 31 Jan 1995
  26.  * @author Patrick Naughton
  27.  */
  28. public class EventRepeater extends Thread {
  29.     private EventHandler handler;
  30.     private Event event;
  31.     private int delay = 10;
  32.     private int init_wait = 400;
  33.     private boolean dead = false;
  34.  
  35.     public EventRepeater (EventHandler eh, Event e, int iw, int d) {
  36.     handler = eh;
  37.     event = (Event) e.clone();
  38.     init_wait = iw;
  39.     delay = d;
  40.     start();
  41.     }
  42.  
  43.     public EventRepeater (EventHandler eh, Event e) {
  44.     this(eh, e, 50, 500);
  45.     }
  46.  
  47.     public void setDelay(int d) {
  48.     delay = d;
  49.     }
  50.  
  51.     public void run() {
  52.     sleep(init_wait);
  53.     while (!dead) {
  54.         handler.handleEvent(event);
  55.         sleep(delay);
  56.     }
  57.     }
  58.  
  59.     public void die() {
  60.     dead = true;
  61.     }
  62. }
  63.  
  64.