I'm on the same path as you but with only a few months experience with Java and programming. I've got a game plan currently that you'll be able to easily adapt.
1/ Read these: http://zetcode.com/tutorials/javagamestutorial/
I am going to do both (on the first link still) but choosing one and running with it is okay as well.
2/ Watch this: http://www.twitch.tv/notch/b/302823358
I watched about 6 hours before I got really bored. It was an eye opener into how the pros do it. Second thing to realise is that you could not be as good as he is unless you make games for 10 years or however long he's done it. Even then, you wont be as good. Notch used to be active here and is considered one of the best on JGO because he was just that good.
3/ Make these: http://inventwithpython.com/blog/2012/02/20/i-need-practice-programming-49-ideas-for-game-clones-to-code/
. Eventually I'll get around to making an original game but for now, I'm just going to make clones until I've got some solid experience.
4/ Play lots of web games. Ludum Dare is a great place for this. There are tonnes of quality games and ideas floating about there and they are all of a small to medium scope which is what I'm looking for. Don't start any projects that are too big to handle. Start small or it's likely you (and me) will regret it.
Bonus number 5/ Maze Algorithms also look fascinating and will help with procedural generation. Take a look at this: http://www.jamisbuck.org/presentations/rubyconf2011/index.html
I haven't done any yet, but I think this can be done after you got game making basics under your belt.