Hola:
Cada lenguaje suele ser útil para unas cosas u otras. Java en principio no es adecuado para juegos, no quiere decir que no se puedan hacer, pero sí hay otros lenguajes/frameworks mejores.
En cuanto a si java tiene o no posibilidades, echa un ojo a los índices de popularidad de los distintos lenguajes
http://www.digitallearning.es/blog/r...-programacion/
Java, junto con C/C++ prácticamente están en lo alto de todos los índices, así que o bien la mayoría de los programadores son inútiles eligiendo lenguaje de programación, o bien java tiene "algo" que si lo hace provechoso. Al igual que C/C++, que no son precisamente lenguajes "modernos y productivos".
Tienes que tener claro para qué quieres aprender el lenguaje. Si lo que quieres es hacer juegos 2d, posiblemente java no te merezca la pena, mejor los frameworks que te comenta agleiva (Unity o Unreal Engine).
Pero si quieres aprender un lenguaje para encontrar trabajo, posiblemente java/C/C++/C# sean mejores opciones.
Si lo que quieres es aprender en general, deberías probar varios lenguajes, a ser posible, que sean muy diferentes entre ellos. Y también deberías probar varios frameworks.
Se bueno.