Java mover jlabel en animación cada 0.5 segundos

Quiero una animación simple para establecer la ubicación cada 0.5 segundos, pero no anima solo la ubicación establecida al final del ciclo.

int x = 1;
int y = 1;

while(x<100){

jLabel1.setLocation(x, y);

x=x+10;
y=y+10;
try{Thread.sleep(500);}catch(InterruptedException e){}

}

Intenté dibujar animaciones con thread.sleep () y funcionó, estaba animado correctamente, pero desafortunadamente esa no es una opción para mí, ya que necesito mover la etiqueta alrededor del marco que tiene una imagen de figura dentro. ¿Alguien puede ayudarme con este problema?

He intentado con estos dos mismos resultados

jLabel1.setBounds(x, y, jLabel1.WIDTH,jLabel1.HEIGHT);  //not working 
jLabel1.move(x,y);  //not working 

Respuestas a la pregunta(1)

Su respuesta a la pregunta