Como colocar uma imagem no fundo da tela

Bom galera to querendo colocar uma imagem no fundo da minha tela,mas naum estou conseguindo
se alguem puder ajudar eu agradeço!!!
To fazendo meu codigo na mao,sem o uso de clicar e arrastar,se alguem souber,me ajude!!
e se alguem souber como faço para chamar outra tela quando eu clicar em cadastro,cliente aparecer outra tela.

import java.awt.event.;
import javax.swing.
;
import java.awt.*;

public class Menu extends JFrame implements ActionListener {

private JMenuBar jmPrincipal = new JMenuBar();
private JMenu jmCaixa = new JMenu(“Caixa”);
private JMenuItem jmAbert = new JMenuItem(“Abertura”);
private JMenuItem jmFecha = new JMenuItem(“Fechamento”);
private JMenu jmRelatorio = new JMenu(“Relatorio”);
private JMenuItem jmDiario = new JMenuItem(“Diario”);
private JMenuItem jmMensal = new JMenuItem(“Mensal”);
private JMenu jmVenda = new JMenu(“Venda”);
private JMenu jmCadastro = new JMenu(“Cadastro”);
private JMenuItem jmCadCliente = new JMenuItem(“Cliente”);
private JMenuItem jmCadProduto = new JMenuItem(“Produto”);
private JMenuItem jmCadAtendente = new JMenuItem(“Atendente”);

public JDesktopPane jdPane = new JDesktopPane();

Tela telaCadCliente, telaCadAtendente, telaCadProduto;

public static void main(String args[]) {
Menu menu = new Menu();
}

public Menu() {
getContentPane().add(jdPane);
jmPrincipal.add(jmCadastro);
jmPrincipal.add(jmVenda);
jmPrincipal.add(jmCaixa);
jmPrincipal.add(jmRelatorio);
jmCadastro.add(jmCadCliente);
jmCadastro.add(jmCadProduto);
jmCadastro.add(jmCadAtendente);
jmCaixa.add(jmAbert);
jmCaixa.add(jmFecha);
jmRelatorio.add(jmDiario);
jmRelatorio.add(jmMensal);

  setJMenuBar(jmPrincipal);

  
  jmCadCliente.addActionListener(this);
  jmCadProduto.addActionListener(this);
  jmCadAtendente.addActionListener(this);
  setSize(800,600);
  setVisible(true);

}

public void actionPerformed(ActionEvent evt) {
if (evt.getSource() == jmCadCliente) {
if (telaCadCliente == null)
telaCadCliente = new Tela(“Cadastro de Cliente”,this);
jdPane.moveToFront(telaCadCliente);
}
if (evt.getSource() == jmCadProduto) {
if (telaCadProduto == null)
telaCadProduto = new Tela(“Cadastro de Produto”, this);
jdPane.moveToFront(telaCadProduto);
}
if (evt.getSource() == jmCadAtendente) {
if (telaCadAtendente == null)
telaCadAtendente = new Tela(“Cadastro de Atendente”, this);
jdPane.moveToFront(telaCadAtendente);
}
}
}

class Tela extends JInternalFrame {

private Menu telaPrincipal;

public Tela(String titulo, Menu telaPrincipal) {
super(titulo);
setSize(300,200);
setVisible(true);
this.telaPrincipal = telaPrincipal;
telaPrincipal.jdPane.add(this);
}
}