To answer Uija, perhaps some people assume that the American people are more sofisticated than in fact they are. I still remember some eight years ago when they did that survey asking American students where the USA was in a world map and an astounding percentage (don't remember how much) didn't know the answer. I wonder if Bush Jr. did before taking the job.
To answer aguirmrc. I don't know how broad your question is (that is to say, I don't know how much you already know to do), but I'll address the collision-detection. If you're not new to Java programming, adding a listener should be nothing new to you. So just as you would add a KeyListener to a Frame, you add a CollisionListener to an object (in this case, both cubes). Next, call Object3D.setCollisionMode(Object3D.COLLISION_CHECK_SELF) for one and Object3D.setCollisionMode(Object3D.COLLISION_CHECK_OTHERS) for the other. Write your collision-response code in the public void collision(CollisionEvent) method you'll have to override when implementing the CollisionListener interface, and do whatever you want with requiresPolygonIDs() (overwride it with nothing if you want to--but don't forget the return statement!). Now, every time you move one of the cubes (either in a loop for the automatic or manually through keyPressed(KeyEvent)), you have to call Object3D.checkForCollisionX(). Voila.
If that's not enough, write back and I'll explain step by step.