I need to create a desktop application for Windows as primary OS and Linux secondary. The programming language i prefer is Java since most of the backend work is in Java. I checked Qt, Gtk+, wxWidgets but was not able to come to a conclusion as which one is better. Can you suggest as of today which widget toolkit is good with support for Java? Also its fine if its not open source.
Another important aspect is I would like to know if the toolkit would create with UI native to the OS or will it have its own theme?
Well, the two best-known ones for Java are SWT and Swing. SWT will look more native, since it uses the OS’s widgets. Swing will have its own look, but you can get it to emulate the OS’s look. They are both available for Windows, Mac, and Linux.
There are a few more options. One thing you could look into is Jambi, which is the Java binding for Qt. It looks pretty native on all platforms it supports, and again supports Windows, Mac, and Linux.
You could also get other toolkits to work with Java using something like JNI or JNA. Look at this question regarding what the best one to use is for your situation. I bet you could easily get GTK+ to work with JNA, since it’s purely a C interface, but I haven’t tried it personally.