Although Eclipse drives users up the wall in every other way, it uses SWT [1], which uses native controls.
Although Eclipse drives users up the wall in every other way, it uses SWT [1], which uses native controls.
I think it's actually worse feeling than a toolkit like GTK+, which is more of a Linux toolkit that "happens to work" on Mac OS. Qt apps feel like they're trying to sneak something past me (except on KDE, of course), and there's a very uncanny valley-esque effect. A GTK+ application is more "upfront" about it, so at least I understand what to expect immediately.
Cyberduck, a file transfer application, is written in Java, but I had no idea because it uses actual bindings to Cocoa. If you want to provide the best user experience in a Java application, that's the way to go, write swappable front ends for each operating system with the native toolkit bindings.
SWT, however, does actually use native widgets. Try out an app that uses it - it will behave the way you would expect an app to behave.
I don't have a problem with using different UI toolkits as long as they look like native apps. The problem is these toolkits are always a step behind in exposing features of the platform you are developing for.