/* Title: TimerBean -ajastin Author: Markku Lehtinen Date: Nov -97 Description: Tämä bean lähettää TimerEvent -viestin jaksottain annetulla jaksonajalla. Properties: =========== long timeSlice TimerEvent -viestien aikaväli. Methods: ======== startTimer() Käynnistää ajastimen, mikäli se ei jo ole käynnissä. stopTimer() Pysäyttää ajastimen. Events: ======= TimerEvent Lähetetään rekisteröidyille Listener:eille annetun aikajakson välein. HUOM! Ajastin saadaan käyntiin ensimmäistä kertaa ainoastaan setTimeSlice() -kutsulla, jossa parametrina on jokin postitiivinen aikaväli. */ package omat.timer; import java.awt.*; import java.awt.event.*; import borland.jbcl.util.*; import java.util.*; public class TimerBean implements BlackBox{ private Vector listenerList = new Vector(); boolean timerOn = false,firstTime = true; BeanTimerClient btClient = new BeanTimerClient(this); Timer beanTimer = new Timer(); public TimerBean() {} // Methods public void stopTimer() { if ( !timerOn ) return; beanTimer.stopTimer(btClient,1); timerOn = false; } public void startTimer() { if ( firstTime ) return; if ( timerOn ) return; beanTimer.startTimer(btClient,1,timeSlice,true); timerOn = true; } // TimerEvent public void fireTimerEvent() { processTimerEvent(new TimerEvent(this)); } protected void processTimerEvent(TimerEvent e) { for (int i=0; i