Ich würde dir raten, eine Engine zu benutzen. Dann musst du auch den sog. Game-Loop nicht selbst implementieren.
Schon mal, das was du da grad bastelst, keine Hardware-Beschleunigung besitzt. Du wirst also schnell an einem Punkt kommen, wo das Spiel ruckeln wird.
Mach dich also lieber mit OpenGL vertraut. Als simple Engine kannst du ja Slick2D verwenden. Ich weiß aber nicht, wie die Dokumentation aussieht. Also ich die Engine getestet habe, war die Doku noch recht unvollständig und unübersichtlich.