// FrameValo.java // Sytyttää 5 valoa ja sammuttaa ne (Formula-lähtövalot) // Vesa Lappalainen 26.3.2000 package valo; import java.awt.*; import java.awt.event.*; import com.borland.jbcl.control.*; import com.borland.jbcl.layout.*; import javax.swing.*; class cClockValo implements Runnable { // Luokka (=säie), joka huolehtii valojen sytyttämisestä ja sammuttamisesta Thread clockThread = null; int interval; int count = 0; int valoja; ShapeControl valot[]; // Taulukko valoista public cClockValo(int interval,ShapeControl valot[]) { this.interval = interval; this.valot = valot; this.valoja = valot.length; start(); } public void start() { if (clockThread == null) { clockThread = new Thread(this, "ClockValo"); clockThread.start(); } } public void run() { // Varsinainen silmukka sytyttelemään valoja // loop terminates when clockThread is set to null in stop() while (Thread.currentThread() == clockThread) { try { Thread.sleep(interval); if ( count < valoja ) { valot[count].setForeground(Color.red); count++; } else { for (int i=0; i