sclass MouseInComponentMonitor extends BoolVarWithNotify is MouseListener, MouseMotionListener { JComponent component; settable bool verbose; *() {} *(JComponent component) { init(component); } void init(JComponent component) { if (this.component != null) fail("Already initialized"); this.component = component; addMouseListener(component, this); addMouseMotionListener(component, this); } void print(S s) { if (verbose) main print(s); } public void mouseClicked(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) { print("mouseEntered"); set(true); } public void mouseExited(MouseEvent e) { print("mouseExited"); set(false); } public void mouseMoved(MouseEvent e) { print("mouseMoved"); set(true); } public void mouseDragged(MouseEvent e) { /*set(true);*/ } }