I am self learner so i know the java's syntax, know how to use it. I can make some smaller and easier programs with Swing. I know the basics, but i would like to move on learn something more like OO and design patterns. Mainly off course i would like learn how to start planning and design of application. Currently most of the programs are made like code first and then we look what design make.
So i am waiting for replies with some good books or links. :p