public void mouseWheelMoved(MouseWheelEvent e) {
   if (isEnabled()) {
     a += (double) e.getWheelRotation() / (double) 3;
     a = (a >= 1 ? 0.9999 : a <= -1 ? -0.9999 : a);
     face.setEmotion(p, a, d, e.getX(), e.getY());
   }
   paint();
 }
 public void mouseDragged(MouseEvent e) {
   if (isEnabled()) {
     p =
         ((double) e.getX() - (double) getWidth() / (double) 2)
             / ((double) (getWidth() + 1) / 2.0);
     d =
         -((double) e.getY() - (double) getHeight() / (double) 2)
             / ((double) (getHeight() + 1) / 2.0);
     face.setEmotion(p, a, d, e.getX(), e.getY());
   }
   paint();
 }
 public void mouseExited(MouseEvent e) {
   in = false;
   down = false;
   paint();
 }
 public void paint() {
   paint(this.getGraphics());
 }