Unfortunately some of us like platforms where the latest and greatest JVM doesn't exist yet. (PPC linux)
So swing applications crawl and don't behave like any of the other applications on my system. (For instance in everything else control-A jumps to the beginning of a line, while Java apps only support home.)
I discovered that IBM released an IDE called eclipse that includes an alternative GUI API to swing called SWT. Unlike swing, SWT uses native controls for rendering a GUI, unfortunately it uses a completely different API from swing and so I didn't think that I could use it on the project I'm currently working on. (And I certainly couldn't use some of the libraries we're currently looking into using.)
Then I found a project called swingwt. It's a partial implementation of swing on top of SWT and I was able to get my simple demo application to build under it.
(I did end up needing to write some code to fill in some pieces of swing that were missing. But I was a good little open source developer and submitted my patch).
The best part of this discovery is that since I've been able to compile SWT using GCJ to native code, it's likely I can compile swingwt and the rest of my application as well.
This means Java applications running as native code instead of in the stupid memory hogging JVM.
Maybe this project doesn't have to completely suck.