If you're already a great programmer, then perhaps improving on OOAD (Object-Oriented Analysis and Design) and design patterns understanding, with books like "Head First Design Patterns" and Craig Larman's "Applying UML and Patterns", is the way to go.

If you want to learn server-side programming, then the JavaRanch Cattle Drive includes a decent introduction to servlets and JSP's. After this introduction, the next steps might include learning a web application framework like Struts, or learning more JEE (Java Enterprise Edition) technologies like EJB's.

If you want to write programs for mobile phones, then jump into J2ME.

If you want to write desktop programs with pretty GUI's, then maybe dive into Swing.

Some folks pursue certifications as a means to focus and organize learning efforts, and to validate understanding.