Hmmm la verdad cada uno tiene un aprendizaje totalmente diferente al de los demas. Para el desarrollo de aplicaciones de escritorio yo te recomendaría plantear diversos "problemas" o ver sistemas conocidos o de tu interes e intentar simular quizás una interfaz o el funcionamiento de un Objeto.
Mi recomendación sería, que leas un poco sobre <patrón de arquitectura de software>, SQL / noSQL
Como establecer un cliente / servidor y lo que podrías hacer con ello.
Si solo estas con java, que cosas te trae Java7 y que mejoras hay con Java 8.
Limpiar tu código, documentarlo.
realizar pruebas unitarias.
Hay un chico que tiene un buen material respecto al diseño UI en java, te dejo en enlace por si no lo conoces.
https://www.youtube.com/channel/UC9XUZKjY8JL9H-BEeFhZicA