One thing I've used (with Swing/AWT) to handling level scrolling is Graphics.translate: http://docs.oracle.c...l#translate(int, int).
The rest is just arithmetic (calculating a centered position) and handling level boundaries.
Yeah, this seems a lot simpler than translating every object you create, which might have an impact on performance.
What you do is just translate the graphics so that the rendering is done with the player in the middle.
Almost every 2D library has a translate function for graphics or a camera class which you can use.