It looks to me like z-fighting (the accuracy of the z-buffer is too low when further away from the camera). This is usually caused by setting your z-near value too close or by using a 16-bit z-buffer instead of a 24-bit z-buffer.
Try changing the z-near in your code:
GLU.gluPerspective(45f, ((float)width/(float)height), 0.001f, 1000f);
to something more like 0.5f or maybe even 1.0f if you can get away with it. Just beware that you, then, need to keep the camera from getting too close to objects.