I've read 'Developing Games in Java' by David Brackeen (ISBN 1-5927-3005-1, which is pretty good, going from the basics to some pretty sophsiticated games engines.
I have just started looking at 'Killer Game Programming in Java' by Andrew Davidson (ISBN 0-596-00730-2), but I am struggling to get Java 3D working, which seems pretty fundamental to building the games he goes on to develop.
Neither of these will give you a massive insight into design and application, but more tutorials on implementation. However Coke and Code will give you a neat little start off. I did the Space Invaders one, changing it for my personal design style on the way and was a nice little introduction.
The guy who does that also runs Slick, which is for 2D games.
For books, I would recommend this book... I have it and is excellent reading (although I have no time to do anything with it lol)