Hi,
Welcome to JavaRanch!
I'm not sure why you're passing in the x,y location of the component as constructor parameters; in any case, the problem is that these are wrong as soon as the container is laid out. The wrong coordinates lead to the image being drawn in an offscreen location, so you can't see it.
Instead of passing in x, y, use getLocation().x and getLocation().y in paintComponent().
You should find that your program works perfectly.