Si no te quieres complicar la vida, en cualquier Container (un JPanel por ejemplo), redefines el metodo paint con esto:
import java.io.*;
import javax.imageio.*;
import java.awt.image.*;
public void paint(Graphics g){
try{
BufferedImage bi = ImageIO.read(new File("NombreDeArchivo"));
g.drawImage(bi, 0, 0, bi.getWidth(), bi.getHeight(), this);
} catch (Exception x){}
}
O tambien puedes utilizar un JLabel:
jLabel1.setIcon(new ImageIcon("NombreDeArchivo"));
Para el paquete javax.imageio necesitaras java 1.4.2
Pero hay mas formas de hacerlo, leyendo el fichero por bytes, a traves de mediatracker, a traves de url...
Ah, y soporta gif's animados.