import java.applet.*; import java.awt.event.*; import java.awt.*; public class Main extends Applet implements KeyListener { Graphics bufferGraphics; Image offscreen; Dimension dim; int squareX; int squareY; Image back; public void init() { dim = getSize(); requestFocus(); back = getImage(getDocumentBase(),"bg.jpg"); offscreen = createImage(dim.width,dim.height); bufferGraphics = offscreen.getGraphics(); } public void paint(Graphics g) { bufferGraphics.clearRect(0,0,dim.width,dim.width); bufferGraphics.drawImage(back,0,0,this); bufferGraphics.setColor(Color.red); bufferGraphics.drawString("Double-buffered",10,10); bufferGraphics.fillRect(squareX,squareY,20,20); g.drawImage(offscreen,0,0,this); } public void update(Graphics g) { paint(g); } public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_RIGHT) { squareX++; repaint(); } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } }