buongiorno a tt del gruppo; sono nuovo di qui. Premetto che senza questo forum non sarei mai riuscito ad imparare determinate cose sulla programmazione java..quindi vi ringrazio; dopo di che volevo chiedervi una cosa riguardo un codice che ho scritto iniseme ad altri due miei compagni di università e che però non riesco a far partire:

package dama2;


import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.*;






public class FileSelector {


private JFrame frame;
private JButton buttonNuovapartita;
private JButton buttonCrediti;
private JButton esci;

public void createAndShowGUI() {
frame = new JFrame("Dama");

buttonNuovapartita = new JButton("Nuova partita");
buttonCrediti = new JButton("Crediti");
esci = new JButton("Esci");




buttonNuovapartita.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {


frame.setVisible(false);
frame.dispose();
Gioco g = new Gioco();


}
});
buttonCrediti.addActionListener(new ActionListener() {


public void actionPerformed(ActionEvent e) {




JOptionPane.showMessageDialog(null, "Francesco Farina\nLuca Olivieri\nLuca Pasetto", "Crediti",
JOptionPane.PLAIN_MESSAGE);


}
});


esci.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {


System.exit(0);


}
});

frame.setSize(1000, 500);
Sfondo bg= new Sfondo();
frame.getContentPane().add(bg);
frame.setVisible(true);

frame.setLayout(new BorderLayout());
JPanel j = new JPanel();
j.setLayout(new FlowLayout());
//j.setBackground(Color.gray);
buttonNuovapartita.setBackground(Color.white);
buttonCrediti.setBackground(Color.white);
esci.setBackground(Color.white);
j.add(buttonNuovapartita);
j.add(buttonCrediti);
j.add(esci);
frame.add(j, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.revalidate();
frame.repaint();








}
}


class Sfondo extends JPanel {

/**
*
*/
private static final long serialVersionUID = 1L;
private Image img;


public Sfondo() {
img = Toolkit.getDefaultToolkit().createImage("images/sfondo.jpg");
loadImage(img);
}


private void loadImage(Image img) {
try {
MediaTracker track = new MediaTracker(this);
track.addImage(img, 0);
track.waitForID(0);
} catch (InterruptedException e) {
e.printStackTrace();
}


}
@Override
protected void paintComponent(Graphics g) {
setOpaque(false);
g.drawImage(img, 0, 0, null);
super.paintComponent(g);

}
}

Volevo chedere come mai quando inserisco l'immagine jpg nel codice quando facio partire mi apre solo la finestra dei bottoni ma non mi compare come sfondo l'immagine che ho scelto