The JavaUI group works primarily with two user interface technologies:
Swing and
SWT. Both toolkits have
their strengths and weaknesses. We can help you pick the right tool
for the job.
Swing is the official UI framework included in Java's standard library.
Rather than mapping to native widgets, Swing does all its own rendering which
adds a great deal of flexibility. Swing supports pluggable look and feels
and numerous components which are not found in the native toolkits of some
platforms. Swing used to suffer from crippling performance problems, but as
of Java 5, Swing's performance has been enormously improved. On most modern
computers and in most situations, the performance delta between a well written
Swing application and a native application is not noticeable.
SWT was introduced by the wildly popular
Eclipse project initiated by IBM.
Like AWT, Eclipse maps to native widgets. Fortunately, SWTs implementation
of this technique is much higher quality than the original AWT implementation,
which was often lovingly referred to as the "Awful Windowing Toolkit".
SWT is in some ways less flexible than Swing, but it provides excellent performance
(even on older machines), tighter desktop integration, and a native browser widget.
If you are planning to build an Eclipse plugin, its best to use SWT (although there
is limited support for Swing.) SWT/JFace also makes sense for standalone desktop
applications and rich clients in some cases.