I want to develop a Desktop Application using Java. I want to know which are the best technologies to develop User Interface like (swing, swt, etc.)?
SWT is just a wrapper around the native UI objects: It does not do as much drawing as Swing. Otherwise the programming model as commonalities.
On top of SWT, you will need to use JFace, which will make your life a lot easier.
Please also note that Google has acquired Instantiation and open sourced (given to the Eclipse foundation) its flagship product windowbuilder so that now, developing SWT based GUIs is easier than ever. WindowBuilder also supports Swing but I'm not sure how this fits with Eclipse's long term strategy.
If you plan to do a lot of development and want to invest in the newest technology then you should also investigate SWT's successor: XWT - also supported by WindowBuilder. Note that all decent GUI platforms of the industry (XAML, Anfroid, XWT) now support an XML representation so that GUI builders IDE can perform bidirectional round-trip code generation.
We have used Swing in a large Java 1.4 project and were not happy with the quality of the UI: it was slow and glitchy. I then used SWT in another small project and was satisfied with both performance and quality. For my account SWT is better.
|show 2 more comments|