Salve a tutti. Potreste dirmi che cosa c'è di sbagliato in questo codice????

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

public class BackgroundPanel extends JPanel
{
private Image im1;
private Image[] d;

public BackgroundPanel()
{
//aggiungo immagine
Toolkit t= Toolkit.getDefaultToolkit();
im1 = t.getImage("tavolo.jpg");
d = new Image[5];
d[0] = t.getImage("dice1.png");
d[1] = t.getImage("dice2.png");
d[2] = t.getImage("dice3.png");
d[3] = t.getImage("dice4.png");
d[4] = t.getImage("dice5.png");
d[5] = t.getImage("dice6.png");


MediaTracker m1= new MediaTracker(this);
m1.addImage(im1, 1);
m1.addImage(d[0], 2);
m1.addImage(d[1], 3);
m1.addImage(d[2], 4);
m1.addImage(d[3], 5);
m1.addImage(d[4], 6);
m1.addImage(d[5], 7);

try
{
m1.waitForAll();
}
catch (InterruptedException e)
{
}
}

public void paintComponent (Graphics g)
{
super.paintComponent(g);
int x,y;
x=100;
y=210;
g.drawImage(im1, 0, 0,null);
g.drawImage(d[0], x, y,null);
g.drawImage(d[0], 2*x, y,null);
g.drawImage(d[0], 3*x, y,null);
g.drawImage(d[0], 4*x, y,null);
g.drawImage(d[0], 5*x, y,null);
}

public Image ReturnIm1()
{
return (im1);
}
}]

Grazie sin da ora per la collaborazione