/////// FastImageFace.java /////// import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; import java.awt.*; import java.io.*; /** A fast and efficient timer display */ public class FastImageFace extends ImageFace { public FastImageFace(Image[] im, Color c) { super(im, c); tracker = new MediaTracker(this); for ( int i =0; i < 11; i++ ) tracker.addImage(dig[i], 0); tracker.checkID(0,true); // start loading refresh = true; } protected FastImageFace() { } public void paint(Graphics g) { // System.out.println("paint called"); super.paint(g); redraw = ! success; } public boolean redraw = true; public void update(Graphics g) { // System.out.println("update called"); if ( redraw ) { paint(g); return; } int nm1 = m/10, nm2 = m % 10; int ns1 = s/10, ns2 = s % 10; g.setColor(Color.black); if ( nm1 != m1 ) { m1 = nm1; g.drawImage(dig[m1], x, y, w, h, this); } if ( nm2 != m2 ) { m2 = nm2; g.drawImage(dig[m2], x+w, y, w, h, this); } if ( ns1 != s1 ) { s1 = ns1; g.drawImage(dig[s1], x+3*w, y, w, h, this); } if ( ns2 != s2 ) { s2 = ns2; g.drawImage(dig[s2], x+4*w, y, w, h, this); } } protected MediaTracker tracker; protected boolean refresh = true; }