I don't think LWJGL is a good idea for a beginner. LWJGL is very low level; it doesn't include anything like drawImage or drawRect. You have to build all of that yourself.
Instead, I would recommend LibGDX as suggested in many other threads. The good thing about LibGDX is that it tends to enforce better standards; i.e. using screens to make your game more modular, batching sprites, using texture atlases, etc.
Get started here:http://libgdx.badlogicgames.com/documentation.html
It's also good to look at how other games are written, as it will teach you a lot about "proper coding standards."https://github.com/libgdx/libgdx/tree/master/demoshttps://github.com/siondream/freegemas-gdxhttps://github.com/jeremangnr/Frogger-LibGDX
the only problem now is that once again i had to re-do everything
This is how things tend to go when you are just beginning. You write something, and then realize there is a better way of doing it.
This is why your first couple games should be very
simple; think Tic Tac Toe, Pong, etc.
if i start learning lwjgl today, how much would it take me to reach that very low level i have now with Java2D ?
With LWJGL, it might take a long time.
Here is an example in LibGDX that does all of this. If you study it you might be able to grasp it all within a day or two. It's actually a complete little game:http://www.java-gaming.org/?action=pastebin&id=557