Second what Sidoh says about Eclipse, and I've even got a real-world example to prove it. At work, we have a few proprietary Java libraries that are shared among a large number of applications. One thing in particular that comes to mind is our persistence layer (database access layer), which is a library of "98% generated" hibernate code for accessing the MySQL backed of the objects model that my group is dedicated to supporting. The ability to develop code with a jitter that can cross-reference code that exists in a completely different project is something that I can't stand to live without, now that I'm spoiled by it.
Eclipse is widely considered to be an essential part of any serious JD's JDK in the industry. I would certainly recommend that anyone master Eclipse as soon as they finish mastering the language, because it blows every other IDE/text editor I've ever used way out of the water, and not just in the code refactoring department.
Also, I like the Eclipse debugger. It's nothing groundbreaking, but it works the same way on my MacBook as it does on my XP machine at work, and on my desktop that runs Ubuntu. I like that I don't have to re-learn how to use a bunch of different IDEs on each of the computers I use for Java development.