In Binary_Chester's code he is creating a new image for the backbuffer on every frame. That's a big no-no. The backbuffer should be created once on start-up and cleared each frame with a big fillRect().
Yes, you are right. I typed just the code in and assumed that someone who is familar with java sees the WAY how it works. Of course it is not a very good way to create with each paint a new Image... ;)