¿Cómo evitar que las posiciones de JLabel se reinicien?

Tengo un JPanel que contiene 11 JLabels, cada uno de ellos registrado con un MouseMotionListener así (generado por Netbeans):

label1.addMouseMotionListener(new MouseMotionAdapter()
{
    public void mouseDragged(MouseMotionEvent evt){
        label1MouseDragged(evt);
}

y los métodos individuales labelXMouseDragged contienen (por ejemplo):

label1.setLocation(label1.getParent().getMousePosition());

Este panel vive dentro de otro panel junto con otros controles. Me parece que puedo arrastrar mis etiquetas dentro del panel (tuve mis métodos comprobando correctamente los límites, pero los he dejado como los anteriores para simplificar). Sin embargo, si se hace clic con el mouse en cualquier lugar que no sea un control, ya sea dentro del panel interno o dentro del panel principal, se restablecen las ubicaciones de las etiquetas. ¿Qué está causando que esto suceda? No tengo registradores de mouse de ningún tipo registrados en ningún otro lugar, y si hago este panel por sí solo, parece que no tengo problemas con los clics.

Respuestas a la pregunta(1)

Su respuesta a la pregunta