For the last year, I've been writing a textbook tentatively called "Java Programming Techniques for 2D, 2.5D, 3D, and Networked Games". As I finish chapter drafts, I've been placing them here. You'll find the PDF files for the chapters and zipped source code for the examples. Please download them, and I'd very much welcome feedback.
The book is for people who already know the basics of Java. For example, students who've finished an 'Intro. to Java' course. The aim is to teach reusable techniques which can be pieced together to make lots of different, fun games. For example, how to make a particle system, first-person keyboard controls, a terrain follower, etc.
If there's demand, I'll keep adding chapters. Probably at the rate of one every 3-4 weeks (I've already finished most of the coding). I plan to be finished by October 2004. (That sentence use to say December 2003 :))
Publisher Found!: O'Reilly will be publishing this book, under the provisional title Java Graphics and Gaming at the end of the year.
Several people have pointed me to this article: Why Shouldn't Authors Self-Publish?.