Como colocar uma imagem de background

Eu gostaria de saber como se faz para setar uma imagem de fundo em um JPanel, nada vai ser colocado em cima. Eu tinha tentado adicionar a imagem a um JLabel e depois adicionar ao JPanel, mas lá em cima, perto da JMenuBar, a imagem não pega, ficando um esparço que da uma má aparência ao programa. Alguem sabe como fazer?

[]´s

Usa o método paintComponent(Graphics g).
Exemplo:

protected void paintComponent(Graphics g) { super.paintComponent(g); Image image = null; try{ image = ImageIO.read(getClass().getResource("painelsuperior.jpg")); }catch(Exception e){ e.printStackTrace(); } g.drawImage(image, 0,0, this); }

Valew!!

super.paintComponent(g);

Minha classe extend JFrame, e nessa classe eu crio um JPanel só para adicionar a imagem. Traduzindo: com esse comando dá erro, e sem não faz nada. =/

Mais alguma idéia?

[]´s