+3  A: 

There was a book released quite a few years ago called Developing Games in Java by David Brackeen.

That covers the basics of 2d and 3d development in pure Java as well as how to handle time jumps and update the physical properties of your game characters. It is a good introduction to the topic.

Paul Keeble
Is it compatible to J2ME? Or would it be using outdated techniques?
Jenko
+2  A: 

I didn't use it myself, but heard some good reference on here.

And here is even a list of libraries, you might need.

Trimack
+3  A: 

MIDP (JSR-118) includes the basics (most of the things you listed above) mainly in the javax.microedition.lcdui and javax.microedition.lcdui.game namespaces.

Josef