I would say "Thank God it's not wxWidgets", but that would probably just piss people off. Then again, wxWidgets is completely overrated.
So far, the Java swing toolkit has been the best thing I've used that works on any platform, no questions asked. There are some stupid limitations but by far it's a lot more satisfying to write code that looks decent and runs without tweaking your project files to hell, or forcing people to install an additional library.
All that being considered, I haven't had any big complaints about the Java API. I don't think Java is supposed to be optimized, so if you're writing an application with optimization in mind, well, why are you using Java? Everybody knows that if you want fast code, you write binaries with a hex editor in win32 assembly...
However, your idea of using JOGL is a good one. I've always wondered how hard it would be to make a user interface entirely in OpenGL and deploy it using a C application - basically giving yourself an API that works fine with anything that supports OpenGL. It's not exactly the most user-friendly thing but for certain types of applications, it might be better than fussing with any one GUI since you could custom-design your controls for whatever you're working on.