I would just add that I considered wxWidgets for quite some time as I came from C/C++. However, I find that the support base for Java to be infinite in comparison to wxWidgets and QT combined. There's a tremendous amount of flexibility in developing a wide range of applications using Java that I couldn't find in wx and Qt. But what finally put the change in my thinking was my company providing me with a free voucher to take a Sun exam, thus Java it is. I also weighed the options of either .Net or Java and ended up choosing Java in the end because I value things that are free.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com