private void animateDraw(Point currentP) {
   Graphics2D g2D = (Graphics2D) getGraphics();
   g2D.setXORMode(g2D.getBackground());
   currentShape.draw(g2D);
   currentShape.setCoordinate(currentP);
   currentShape.draw(g2D);
 }
 public void paintComponent(Graphics g) {
   super.paintComponent(g);
   Graphics2D g2D = (Graphics2D) g;
   for (GEShape shape : shapeList) {
     shape.draw(g2D);
   }
 }
 private void initDraw(Point startP) {
   currentShape = currentShape.clone();
   currentShape.initDraw(startP);
 }