[SOLVED]zooming and walking

I have played a little with Graphics2D in java, but now i have stumbled upon a problem.

In my test there is a player, which is just a black filled oval, which can move around with the wasd keys, i have placed several other blocks around him so that i can see that he moves around.
What i tried to do is translate the graphics so that the center of the screen became the 0,0 point, from there i draw my squares and my player. When the player moves the translation of the G2D object is altered so the player stays in the center of the screen, this all works good, but I have also implemented a zoom and rotate function. And then comes the problem. When the zoom factor is 1.0 , so there is no zoom, everything works fine, when i move the player stays in the center of the screen and the player is the center of the rotation. but when i zoom in and then walk, the players moves away from the center, eventually is no longer on the screen because it moves to fast, and the players is also no longer the center point for rotation. When i zoom out and move the player moves away from the center, eventually is no longer on the screen because it moves to slow and the player is also no longer the center point for the rotation. The code that i use is this.