/** @author j.n.magee 14/08/98 */ package concurrency.announce; import java.awt.*; import java.applet.*; /**************************************************************/ class BoxCanvas extends Canvas { final static int MAX = 16; static final int MAXCOLOR = 4; static final int BOXSIZE = 15; private static final int IDLE = 0; private static final int ACTIVE = 1; private static final int BLACK = 2; int boxX[] = new int[MAX]; int boxY[] = new int[MAX]; int boxState[]= new int[MAX]; final Color boxColor[] = {Color.red, Color.blue, Color.green, Color.orange}; private Dimension dc; BoxCanvas() { dc = getSize(); setBackground(Color.white); for (int i= 0; i=MAX) return; boxState[id] = ACTIVE; if (x>=0 && x+BOXSIZE=0 && y+BOXSIZE=MAX) return; boxState[id] = BLACK; if (x>=0 && x+BOXSIZE=0 && y+BOXSIZEIDLE) { if (boxState[i]==BLACK) offgraphics.setColor(Color.black); else offgraphics.setColor(boxColor[i%MAXCOLOR]); offgraphics.fillRect(boxX[i],boxY[i],BOXSIZE,BOXSIZE); } } g.drawImage(offscreen, 0, 0, null); } } /**************************************************************/