We could mess with AOT compilers, console support, custom game oriented JVMs and hope that Oracle will do more to push Java for home client side applications (bearing in mind their entire business is in the enterprise domain). You could do that, or you could switch to an environment which already does all of this and more. That is what I intend to do over the next few months as I will be switching to using C# and XNA. This is my after Java.
XNA has a bigger game development community, is actively pushed for game development by a large company, is under active development, is pushed for commercial game development, is available for PC/console/mobile platforms and has a growing indie game market place already setup. The only thing Java has over XNA is applets (XNA is only partially supported in Silverlight thanks to third party libs), but I’d happily trade them in for any of the above (I’m sick of all the applet and version compatability issues of Java).
Flash is still dominant for browser games, is spreading to more platforms and is being improved on every release. This is dispite people saying it will be killed off by the rise of HTML 5 + WebGL. A good alternative to Flash. Over the last 5 years it seems Java is still Java. All of the issues it had, no good support for videos and music, most examples of Java applets still look really poor, 3D graphics is still just bolted on and not included or standardised in the JVM and the examples of truly awesome Java apps are still entirely server side. The only memorable event I can remember is that Java 2D, on Windows, doubled in speed.
Note this is just my opinion, I’m not saying everyone else should follow and drop Java for games.