ma invece che utilizzare una gif esterna perchè non ne usi una creata appositamnte nel programma tramite java?eccoti un mio esempio di codice banale forse nn efficientissimo e sicuramente migliorabile(visto che l'ho fatto al volo),ma funzionante.
Il codice comprende due classi separate,quindi se per provarlo fai copia-incolla fallo separandole 
eccoti il mio codice:
codice:
import javax.swing.*;
import java.awt.*;
class Pannello extends JPanel{
private static int l;
private static int h;
public Pannello(int l,int h){
setPreferredSize(new Dimension(200,200));
setBackground(Color.green);
this.l=l;
this.h=h;
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.black);
g.drawArc(100-(this.l/2),100-(this.h/2),l,h,0,360);
g.setColor(Color.red);
g.fillArc(100-(this.l/2),100-(this.h/2),l,h,0,360);
}
public static void setLH(int l1,int h1){
l=l1;
h=h1;
}
}
import javax.swing.*;
import javax.swing.Timer;//lo importo separatamente per evitare la confuzione tra le varie classi Timer esistenti nei package importati!
import java.awt.*;
import java.awt.event.*;
class Animazione extends JFrame implements ActionListener{
private Timer timer;
private static final int delta=2;
private static int currentSize=0;
private static boolean aumenta=true;
private Pannello pannello;
public Animazione(){
super("Animazione");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
timer=new Timer(10,this);
timer.start();
Container c=getContentPane();
pannello=new Pannello(0,0);
c.add(pannello);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(currentSize==100){
aumenta=false;
}else if(currentSize==0){
aumenta=true;
}
if(aumenta==true){
currentSize+=delta;
Pannello.setLH(currentSize,currentSize);
pannello.repaint();
}else if(aumenta==false){
currentSize-=delta;
Pannello.setLH(currentSize,currentSize);
pannello.repaint();
}
}
public static void main(String [] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Animazione();
}});
}
}
cambiando il delay del timer potrai modificare a tuo piacimento la velocità di aggiornamento
spero ti possa essere utile questo mio esempio 
ciao!