I agree with Valentin that when you're new to
Java, it's a better for your education to use a no-frills editor so you learn for yourself many of the things that a good IDE will do for you. After you have mastered the concepts, then you can use the IDE as a tool for simplyfing your work.
I use JBuilder. It's the most stable IDE I have ever used (I've tried Visual J++, Symantec Cafe, Code Warrior, and Forte). It's crashed on me ONCE in almost 2 years. And it's written in Java. So that gives you some idea of what you can actually do with a Java application.
I like the code-helpers...you start typing a few characters and a little box pops-up on your screen with all the API calls that are accessible in your current context, then you can just scroll to the one you want, and even copy the prototype parameter list. It's a great time saver, and saves me from looking up API calls AND simple typographic mistakes.
I don't use the debugger much as I find it's rather slow...I debug the old fashioned way with println() calls and log files.
I hear Net Beans is getting a lot reviews so I might check that out. But for now, JBuilder is my tool of choice.