There are some shortcomings in your program, apart from the use of JFileChoosers.
The biggest is that Robot works with screencoordinates, while the mouseEvent gives the panel coordinates. So, to make it work, you must translate the event coordinates to screencoordinates.
And to a lesser degree: with todays mega images, chances are that the image does not fit on the screen. let alone in the panel. There is no facility to drag the image around in the panel.
But maybe your code is just for relatively small images?
I hate signatures!
Why am I so drawn to cherry pie? I can't seem to stop. Save me tiny ad!