Is the JFrame visible or validated when you call changePicture? If so you should make a call to validate
(Container#validate())
You may wish to do this another way by simply changing the image...