Originariamente inviato da Lestat_39
l'immagine deve trovarsi nella stessa cartella nella quale si trova quella determinata classe giusto?
Per essere più precisi, la cerca nella "current working directory", ovvero la directory che è corrente quando è stata avviata la JVM. E che non è detto che sia quella dove ci sono le classi.

P.S. 1: quando fai:
g.drawImage(image, 20, 20, null);

Non passare l'ultimo a null ma passa this ovvero il reference al tuo pannello. È utile per l'aggiornamento della immagine (specialmente se la immagine fosse una GIF animata!).
Potresti anche evitare il wait con il MediaTracker. Perché la visualizzazione sarebbe "incrementale". L'ultimo parametro è un ImageObserver e il tuo pannello farebbe da "observer". Man mano che i dati della immagine sono disponibili, il pannello verrebbe notificato e si ridisegnerebbe da solo.