I recently looked at J2ObjC for my own personal project.
It's actually very complete, although it worries me that no changes or bugfixes have been made since the end of November.
It could actually provide a nice solution for OpenGL games seeking Desktop/Android/iOS, granted:
- No support for Java 7 features, nor should you rely too much on enums, generics and other Java syntax which may lead to weird/excessive translations.
- Ideally you shouldn't rely on java.util or any other JRE classes but instead create your own cross-platform implementations. J2ObjC already does this for you in many places -- i.e. they have re-written java.util.Date, HashMap and Properties in ObjC.
- Memory & garbage collection will always be a problem with more complex games since Java and ObjC are so fundamentally different.
So if you code carefully in Java, you could get some nice translations. Of course, at some point you will need to use ObjC, so you can't fully escape it.
It's a total bitch to set up, though, and wouldn't work at all on my Macbook Air. I'll try again next week on my desktop OSX to see how it fares. Even if all you can do is a simple 2D game, it could provide a nice (free) alternative to MonoTouch/LibGDX.
On the subject -- there are some other tools coming out that achieve this cross-compatibility, albeit not with Java. e.g.
MonkeyCoder and
Moai.