Como fazer um GIF ficar em Loop infinito

Sou novo no Java, isso pode ser simples, mas estou fazendo um projeto simples de um jogo no JAVA, fiz um GIF para ser o background do meu jogo, porem ele só funciona a primeira vez e depois fica estático, queria deixar ele repetindo sempre que acaba e fazer um " loop infinito", poderiam me ajudar? não achei em lugar algum

package solaradventure.modelos;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Timer;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class Fase extends JPanel implements ActionListener {

	private Image fundo;
	private Nave nave;
	private javax.swing.Timer tempo;

	public Fase() {
		setDoubleBuffered(true);
		setFocusable(true);
		addKeyListener(new TecladoAdapter());
		ImageIcon ref = new ImageIcon("resources\\fase1universo.gif");
		fundo = ref.getImage();

		nave = new Nave();

		tempo = new javax.swing.Timer(5, this);
		tempo.start();

	}

	public void paint(Graphics g) {
		Graphics2D graficos = (Graphics2D) g;
		graficos.drawImage(fundo, 0, 0, null);
		graficos.drawImage(nave.getImagemNave1(), nave.getX(), nave.getY(), this);
		g.dispose();
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		nave.movement();
		repaint();

	}

	private class TecladoAdapter extends KeyAdapter {

		@Override
		public void keyPressed(KeyEvent e) {
			nave.keyPressed(e);
		}

		@Override
		public void keyReleased(KeyEvent e) {
			nave.keyReleased(e);
		}

	}

}

Na verdade, o gif sempre fica no loop infinito, eu mesmo uso, apenas coloco ele e nunca para, eu preciso usar um Timer pra dps de X segundos, ele trocar por algo estático.