Java’s dynamic features provides the means to experiment with a variety of software engineering ideas. If you are interested in Java’s guts read about Decompiling and Reverse Engineering Java. Visit aspectj.org for the latest news on aspects.
Javasoft is Java’s most important site. It contains a vaste amount of information and all java’s Product’s & APIs. Scott Ambler’s Links will give you guidence on style issues.
To develop small examples-prototypes you might want to download and customise PFE. For larger development you might need to choose between one of the many existing IDEs or alternatevely emacs/JDE and makefiles. If you need a portable IDE then you should consider Javasoft’s Forte which is written in java.
To get a good oveview on JFC, check the javasoft’s JFC tutorial or Matthew’s Robinson and Pavel Vorobiev “Swing” book.