vou colocar uma solução que eu já usei, onde eu passo o frame e o nome da imagem que eu quero utilizar…
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.awt.Container;
import java.awt.BorderLayout;
/**
*
* @author */
public class ImageGui {
public ImageGui()
{
}
//o metodo recebe o frame e a nome da imagem:exemplo "imagem.jpeg"
public void inserirImagem(JFrame frame, String image)
{
//abaixo fica o caminho da imagem e o nome do arquivo com a imagem recebida por parametro
String caminho= "C:/src/GUI"+image;
//cria o JPanel para adicionar os labels
JPanel panel = new JPanel();
//carrega a imagem passando o nome da mesma
ImageIcon img = new ImageIcon(caminho);
img.getImage();
//pega a altura e largura
int altura = img.getIconHeight();
int largura = img.getIconWidth();
panel.setSize(largura, altura);
//adiciona a imagem em um label
JLabel label = new JLabel(img);
//container onde serão adicionados todos componentes
Container container = frame.getContentPane();
//adiciona o panel no container
container.add(panel, BorderLayout.NORTH);
panel.add(label, BorderLayout.CENTER);
frame.pack();
}
}