Hola:
Por el código me hace la impresión de que RastreadorRaton hereda de una ventana -JFrame, JDialog o JWindow- y en el constructor la haces visible. De esta forma siempre saldrá una nueva ventana.
No sé si te vale, pero una opción es no hacer herencia, sino declarar un atributo static a la clase RastreadorRaton
Código:
private static JFrame ventana = null;
Luego, en el constructor de RastreadorRaton, si es null, la creas e inicializas todo. Si no es null, no haces nada.
Código:
if (ventana == null)
{
ventana = new JFrame("Demostracion ....");
....
}
De todas formas, echa un ojo a la clase Toolkit. Con algo como
Código:
Toolkit.getDefaultToolkit().addAWTEventListener(...., AWTEvent.MOUSE_MOTION_EVENT_MASK)
podrías suscribirte a movimientos de ratón sin necesidad de crear ninguna ventana.
Se bueno.