I was once at your stage. To face the truth, if your using standard
java graphics commands, efficiency will be a real pain because there's no way you'd render something complicated at blazing fast speed. which is why I'm sticking to LWJGL which incorporates OpenGL to render your graphics. If you're not familiar with OpenGL, then I'd recommend the
Slick2D engine. It's really simple to understand and use.