Cargando GIF animado en JLabel rareza

Estoy tratando de cargar un GIF animado en un JLabel.

Mientras esto funciona:

URL urlsd;
try {
    urlsd = new URL("http://pscode.org/media/starzoom-thumb.gif");
    ImageIcon imageIcon = new ImageIcon(urlsd); 
    JLabel progress = new JLabel(imageIcon);    
    progress.setBounds(5, 20, 66, 66);
    contentPane.add(progress);
} catch (MalformedURLException e) {
    e.printStackTrace();
}

Esto, por otro lado, no lo hace, y no quiero obtener el GIF de una URL, ya que ya tengo el GIF. El resultado de la carga muestra solo el primer cuadro del GIF:

try {   
    ImageIcon imageIcon = new ImageIcon(ImageIO.read(ClassLoader.getSystemResourceAsStream("res/images/progress_indicator.gif")));

    JLabel progress = new JLabel(imageIcon);
    imageIcon.setImageObserver(progress);
    progress.setBounds(5, 20, 66, 66);
    contentPane.add(progress);
} catch (MalformedURLException e) {

    e.printStackTrace();
}

Supongo que debe haber una razón para esto, pero no puedo encontrarlo.

¡Gracias! Alex

Respuestas a la pregunta(3)

Su respuesta a la pregunta