import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.awt.geom.*; 
import java.awt.image.*; 

public class MyApplet extends JApplet implements MouseMotionListener 
{ 
  BufferedImage bi; 
  Graphics2D big2; 
  int x, y; 
  boolean reset = true; 

  public void init() 
  { 
    bi = (BufferedImage)createImage(getWidth(), getHeight()); 
    big2 = bi.createGraphics(); 
    addMouseMotionListener(this); 
  } 

  public void paint(Graphics g) 
  { 
    Graphics2D g2 = (Graphics2D)g; 
    g2.drawImage(bi, null, 0, 0); 
  } 

  public void mouseDragged(MouseEvent ev) 
  { 
    if (reset) 
    { 
      reset = false; 
      x = ev.getX() - 1; 
      y = ev.getY(); 
    } 
    big2.draw(new Line2D.Double(x, y, ev.getX(), ev.getY())); 
    x = ev.getX(); 
    y = ev.getY(); 
    repaint(); 
  } 

  public void mouseMoved(MouseEvent ev) 
  { 
    reset = true; 
  } 
} 
