- As part of your core library study be sure to get a solid grasp on the Collections framework. It makes dealing with common data structures much easier.
- If you don't have a specific need for it I wouldn't put Swing very high on the list. If you do need it, be sure to include some related technologies that are making it easier to deal with. Probably the most frustrating part of Swing (at least with moderately complicated UIs) is dealing with the layout. MigLayout is a modern third-party layout manager that makes the process easier. The emerging JavaFX Script stuff takes a different approach by making all the UI code declarative.
- JPA is really nice for setting up your data access layer. The latest versions of Hibernate allow you to use JPA annotations rather than xml config files.
- Netbeans and Eclipse are both nice but Netbeans is easier to start with. Eclipse requires some extra steps that don't feel very intuitive at first.
- Spring is very very cool.
- JMS is very commonly used in projects where messaging is required so I'd probably include that.
I haven't primarily been a JEE developer so others can give better advice on some of those technologies.