For an in-depth treatment of the language, you might get some inspiration from "Thinking in Java" by Bruce Eckel (clicky, free (outdated) Java 1.4 version).
As for the most important concepts, apart from the language itself I would emphasize OO topics, the collections framework, and a bit of design patterns and principles where appropriate. Concurrency is also important, but in a first java course you will only cover the basics. Another important topic is generics, and especially the problems of the Java implementation compared to C++ (see this FAQ).
I almost only do web development, so I can't really opine much on the Swing stuff. Eclipse RCP might be interesting as well. If you do mention web development, Wicket might be worth a look -- its programming model is much like Swing's, OTOH it does hide the web-specific things more than other frameworks.
I can recommend Eclipse as an IDE, haven't tried Netbeans seriously. However, I think it is advisable to let your students compile a few programs manually to get a better understanding of classpath hell issues.
|