@Override
 public void removeMouseListener(MouseListener listener) {
   if (canvas != null) canvas.removeMouseListener(listener);
   else super.removeMouseListener(listener);
 }