A lot of concepts in Java game programming are similar to concepts used elsewhere. I suggest reading about double buffering. You'll need to know what it is, how it is used in Java, and how to use the built in double buffering in Swing. It is also helpful to know how to do it yourself. If you don't already know about double buffering, search google.
You probably also want to look into some of the new 1.4 APIs. The fullscreen mode for Java looks promising and I think they have tried to put in a mode where you are drawing directly to video memory. If you don't know why you would want these features, it would be worth your while to research that before you start.
Java isn't the best language for writing games but its getting better with some of these new features. I might suggest that you try game programming using some good game programming libraries (in C) such as SDL:
http://dmoz.org/Computers/Programming/Games/Libraries/SDL/ But if you are doing this to learn Java, then by all means. Games use much more of the Java libraries than many other applications. You will soon become familiar with Threading, IO, and Swing.
My attempts at game programming in Java can be found here:
http://ostermiller.org/ladder/ Its open source and it a ton of fun to play.