1: import java.awt.*; 2: 3: public abstract class DBAnimationApplet 4: extends AnimationApplet { 5: 6: final public void update(Graphics g) { 7: if (doubleBuffered) { 8: paintFrame(offscreen); 9: g.drawImage(im, 0, 0, this); 10: } else { 11: // super.update(); 12: } 13: } 14: 15: final public void paint(Graphics g) { 16: paintFrame(g); 17: } 18: 19: final public void init() { 20: d = getSize(); 21: im = createImage(d.width, d.height); 22: offscreen = im.getGraphics(); 23: initAnimator(); 24: } 25: 26: protected void initAnimator() {} 27: 28: abstract protected void paintFrame(Graphics g); 29: 30: protected DBAnimationApplet(boolean doubleBuffered) { 31: this.doubleBuffered = doubleBuffered; 32: } 33: 34: protected DBAnimationApplet() { 35: this.doubleBuffered = true; 36: } 37: 38: protected boolean doubleBuffered; 39: protected Dimension d; 40: protected Image im; 41: protected Graphics offscreen; 42: 43: } 44: