Hmmm... do you have some specifics? Like what angles causes it to look 2D? Or maybe even a (small!) screenshot?
Are you using Java3D or LWJGL or JOGL?
If you're using Java3D then I would suggest the Daniel Selman book on Java 3D Programming:
http://www.manning.com/selman/And it will all probably come down to how your normals are defined, and/or what Material you are using for your models.