Adicionar imagem de fundo

Boa tarde galera
sou novo iniciante em java e estou com dificuldade de adicionar uma imagem de fundo no código abaixo…já tentei de tudo…tenho certeza que já li todos os topicos e nada deram certo
por favor que souber me ajuda
obrigado

import javax.swing.ImageIcon;
import javax.swing.Icon;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URL;

import javax.swing.GrayFilter;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import java.sql.*;

public class cadastro extends JFrame

{

//JButton*****************
public JButton
salvar,
excluir,
alterar,
consultar;

//JTextField**************

private JTextField campoNome;   
private JTextField campoEmail;   
private JTextField campoDDDTel;   
private JTextField campoTelefone;   
private JTextField campoDDDCel;   
private JTextField campoCelular;   
private JTextField campoEndereco;   
private JTextField campoNumero;   
private JTextField campoEmpresa;   
private JTextField campoBairro;   
private JTextField campoCidade;   
private JTextField campoEstado;   
private JTextField campoCep;   
private JTextField campoCPF;   
private JTextField campoRG;   
private JTextField campoNascimento;   

//JLabel*****************

private JLabel nome;   
private JLabel email;   
private JLabel dddTelefone;   
private JLabel telefone;   
private JLabel dddCelular;   
private JLabel celular;   
private JLabel endereco;   
private JLabel numero;   
private JLabel empresa;   
private JLabel bairro;   
private JLabel cidade;   
private JLabel estado;   
private JLabel cep;   
private JLabel cpf;   
private JLabel rg;   
private JLabel nascimento;  

//JComboBox**************************

public JComboBox estado1;   
public String ufs[] = {"MG","RJ","SC","SP"};   
   
public cadastro(String titulo) {   
    super(titulo);   
   
    Container c = getContentPane();   
    c.setLayout(null);   

//Construção das JTextField****************

    campoNome = new JTextField(35);   
    campoEmail = new JTextField(25);   
    campoDDDTel = new JTextField(3);   
    campoTelefone = new JTextField(8);   
    campoDDDCel = new JTextField(3);   
    campoCelular = new JTextField(8);   
    campoEndereco = new JTextField(55);   
    campoNumero = new JTextField(5);   
    campoEmpresa = new JTextField(21);   
    campoBairro = new JTextField(35);   
    campoCidade = new JTextField(20);   
    campoEstado = new JTextField(3);   
    campoCep = new JTextField(8);   
    campoCPF = new JTextField(10);   
    campoRG = new JTextField(9);   
    campoNascimento = new JTextField(10);   

//Construção das JLabel*******************

    nome = new JLabel("Nome:");   
    email = new JLabel("E-mail:");   
    dddTelefone = new JLabel("DDD:");   
    telefone = new JLabel("Telefone:");   
    dddCelular = new JLabel("DDD:");   
    celular = new JLabel("Celular:");   
    endereco = new JLabel("Endereço:");   
    numero = new JLabel("Nº:");   
    empresa = new JLabel("Empresa:");   
    bairro = new JLabel("Bairro:");   
    cidade = new JLabel("Cidade:");   
    estado = new JLabel("Estado:");   
    cep = new JLabel("Cep:");   
    cpf = new JLabel("CPF:");   
    rg = new JLabel("RG:");   
    nascimento = new JLabel("Nacimento: dd/mm/aaaa");

//Construção das JComboBox*****

    estado1 = new JComboBox(ufs);   
    estado1.setMaximumRowCount( 6 );   
    estado1.setEditable(true);   
    c.add(estado1);         

//Construção das JButton************

    salvar = new JButton("Salvar");   
    c.add(salvar);   
    excluir = new JButton("Excluir");   
    c.add(excluir);   
    alterar = new JButton("Alterar");   
    c.add(alterar);   
    consultar = new JButton("Consultar");   
    c.add(consultar);   
    
}   
   
public cadastro() {
	// TODO Auto-generated constructor stub
}

private void mostrarTela() {   
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
    setLocation(50, 50);   
    setLayout(new GridLayout(10,20));   
    Container cp = getContentPane();   
       
    JPanel [] panel = new JPanel[10]; //vetor de JPanel   
    
    for (int i = 0 ; i < panel.length; i++) {   
        panel[i] = new JPanel(); //inicializa cada JPanel   
    }   
            
    panel[0].add(nome);   
    panel[0].add(campoNome);   
    panel[0].add(email);   
    panel[0].add(campoEmail);   
    panel[1].add(dddTelefone);   
    panel[1].add(campoDDDTel);   
    panel[1].add(telefone);   
    panel[1].add(campoTelefone);   
    panel[1].add(dddCelular);   
    panel[1].add(campoDDDCel);   
    panel[1].add(celular);   
    panel[1].add(campoCelular);   
    panel[2].add(endereco);   
    panel[2].add(campoEndereco);   
    panel[2].add(numero);   
    panel[2].add(campoNumero);   
    panel[3].add(empresa);   
    panel[3].add(campoEmpresa);   
    panel[3].add(bairro);   
    panel[3].add(campoBairro);   
               
    panel[4].add(cep);   
    panel[4].add(campoCep);   
    panel[4].add(cidade);   
    panel[4].add(campoCidade);   
    panel[4].add(estado);   
    panel[4].add(estado1);
    panel[5].add(rg);   
    panel[5].add(campoRG);   
    panel[5].add(cpf);   
    panel[5].add(campoCPF);   
    panel[5].add(nascimento);   
    panel[5].add(campoNascimento);   
    panel[6].add(salvar);   
    panel[6].add(excluir);
    panel[6].add(alterar);
    panel[6].add(consultar);
      
    
    for (int i = 0; i < panel.length; i++) {   
        cp.add(panel[i]);//adiciona cada linha ao JFrame 
        
    }   
   
    pack();   
    setVisible(true);   
       
}   
   



public static void main(String[] args) {   
    cadastro executar = new cadastro("Cadastro de Visitantes");   
    executar.mostrarTela(); 
        
}

    
}

quando for postar código use as tag code…

http://www.guj.com.br/posts/list/50115.java

e de uma olhada neste tópico ve se te ajuda… para resolver seu problema.

http://www.guj.com.br/posts/list/69112.java