Comparing Swing and SWT.
Charles Ditzel has taken the time to write a thoughtful article in the form of a weblog entry on Swing versus SWT. For those who have been stuck on the server-side for their entire Java careers: Swing is Sun's emulation-based Java UI toolkit and SWT is IBM's native widget-based Java UI toolkit. Charles works for Sun, so you can expect to find a little bias in the article. For example:
Charles Ditzel, Comparing Swing and SWT: Swing can provide a look and feel that exactly matches that of the platform, provides a more consistent cross-platform story, and offers a level of flexibility far and beyond what is possible with SWT.
I have yet to see a Swing-based GUI that exactly matches the Windows look-and-feel. There is always some noticable difference, and where is that Windows XP look and feel? Other than that, he has some good points (disclaimer: I know Swing, but not SWT). If you care about Java GUI development then the article is well worth a read.
One thing that Charles fails to point out is that Swing is intended to be a general purpose GUI toolkit whereas SWT is intended to support Eclipse. SWT/JFaces may grow into a world-beating general purpose GUI toolkit someday, but right now Swing is the choice for general purpose Java GUI development. Maybe that is why the payware version of Eclipse (Websphere Studio) supports GUI building with Swing and AWT and not with SWT.