It depends. What is your target platform? If you are intend to make Windows applications and applets, a good solution will be Visual J++, 'cause it has it's Windows Foundation Classes. This is a library of classes that enables you to make calls directly to the Windows API and as results, the apps will gain in speed.
For an heterogeneous platform (Windows, Unix, Mac) I recommend to you Borland J++ Builder. It is a very powerful and easy to use IDE, and it comes with a variety of predefined classes: Swing, Borland, etc...
Good luck,
Sleepy