how so? can you elaborate?
Why would the order of rotations make any difference?
Rotations are not a commutative operation like translations are, therefore order matters.
What I do is basically the following:
I chose the body to focus on and translate that body to the origin
I then apply these rotations based on mouse inputs:
gl.glRotated(rotX, 1.0, 0.0, 0.0);
gl.glRotated(rotZ, 0.0, 0.0, 1.0);
Then I translate the body back to its position
I would venture to guess that your initial translation to the origin is not zeroing out because of floating point error. You might want to try something more along the lines of:
Push a matrix on the stack (glPushMatrix())
Load an identity matrix (glLoadIdentity())
Translate to your position
Apply your rotations
Draw all of your vertices relative to this position
Pop the matrix off of the stack (glPopMatrix())
If it looks backwards, it's because matrices are applied in reverse order. lhkbob suggested the same order earlier.