The Java UI they use is part of what makes it easy for them to have a cross-platform product that works almost anywhere Java does.
I also find the "never seems to fit into the OS" argument a bit silly as most of the popular IDEs don't really "fit" either. For example, XCode's UI design is all over the place -- it doesn't match a lot of what users expect from OS X. Visual Studio has screaming uppercase menus and odd controls (among other oddities). Eclipse, well, it's never even come close to looking like a native application.
So perhaps the more interesting question I'd ask is what IDE have you used actually feels, looks, and acts like a truly "native" application?
In the end, I care more about a usable application that works on the platforms I use consistently then one that works wildly differently on every platform just so it can "feel native".
I think a shared look is important, but a shared feel is more important. That's where the real problems often start. Does your editor know my custom dictionary? Does it have the standard key bindings? My overrides? If the need arises, can I use user interface scripting to drive it?
Also, look can be annoying. If, IMO, my favourite font looks ugly in tool X, I'll have to spend hours finding a replacement (yes, that replacement won't be better than the default or than what I chose after three seconds, but it takes hours to admit that/adapt to the idea that that font is OK)
And yes, Xcode, Visual Studio a d Eclipse aren't the ideal son in law, either, but that doesn't mean we cannot bash other would be sons in law.
I also find the "never seems to fit into the OS" argument a bit silly as most of the popular IDEs don't really "fit" either. For example, XCode's UI design is all over the place -- it doesn't match a lot of what users expect from OS X. Visual Studio has screaming uppercase menus and odd controls (among other oddities). Eclipse, well, it's never even come close to looking like a native application.
So perhaps the more interesting question I'd ask is what IDE have you used actually feels, looks, and acts like a truly "native" application?
In the end, I care more about a usable application that works on the platforms I use consistently then one that works wildly differently on every platform just so it can "feel native".