i highly recomend this book
http://www.amazon.com/Introduction-J.../dp/0132221586
i am currently using it for my class. It if easy to read with lots of examples and practice. it is for beginers in programming. this verion has both OOP and swing GUI. you can get the first have witch is mostly general progarmaming with OOP.