I've been programming / teaching Java for about 10 years now, depends on the topics and where the students are but here are some of my favorite books:
1. Head First - Kathy Sierra (love the entire Head First series!)
2. Thinking in Java - Bruce Eckles (see www.mindview.net)
3. Java How To Program - Deitel and Deitel
Hope that helps, good luck with your teaching!