/* * @(#)DoubleBufferPanel.java	1.2 97/01/14 Jeff Dinkins * * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved. * */ import java.awt.*;import java.applet.*;public class DoubleBufferPanel extends Panel {      Image offscreen;  /**   * null out the offscreen buffer as part of invalidation   */  public void invalidate() {      super.invalidate();      offscreen = null;  }  /**   * override update to *not* erase the background before painting   */  public void update(Graphics g) {      paint(g);  }  /**   * paint children into an offscreen buffer, then blast entire image   * at once.   */  public void paint(Graphics g) {      if(offscreen == null) {         offscreen = createImage(getSize().width, getSize().height);      }      Graphics og = offscreen.getGraphics();      og.setClip(0,0,getSize().width, getSize().height);      super.paint(og);      g.drawImage(offscreen, 0, 0, null);      og.dispose();  }}