1. Calling repaint method from paint method is wrong. Try another mechanism (such thread , a thead that sleeps every n milliseconds an wakes up and calls the repaint.).
2. Try get information in another method , save them on global variables , and use in paint update method seem to be good place.
3.if the image is constant (not change) , use jar file and insert image as a resource to the jar.