J2SE: Duh! Forget Eclipse/Netbeans for now, use Notepad++ or Vim as you need to get a grasp for classloading, packaging, etc.
JDBC, then Hibernate, then JPA: These are the standard when talking about persistence. Now you can use Eclipse/Netbeans.
Tomcat/JSP/Servlets: The building blocks of web development.
Swing/threads: only if you need to develop local apps.
Those should give you the "Average Java Developer" sticker. Now it depends of where you're heading. If it's large enterprise, J2EE application server's basic services like authentication, integrated web server, EJBs, CMP, JSP/JSF, etc.
If it's "lighter" web development struts is good if dealing with legacy apps; spring or seam excels at newer apps.
I personally favors Seam since it leverages Java standards - I like to call it "J2EE done right". And the main leader, Gavin King is working to create a Seam-like J2EE core technology like he did with EJB3. It's a plus when dealing with corporations.
Never say you know a man until you have divided an inheritance with him.