Pros Swing:
- part of java library, no need for
additional native libraries - works the same way on all platforms
- Integrated GUI Editor in Netbeans and Eclipse
- good online tutorials by Sun/Oracle
- Supported by official java extensions (like java OpenGL)
Cons Swing:
- Native look and feel may behave
different from the real native
system. - heavy components (native/awt) hide swing components, not a problem most of the time as as use of heavy components is rather rare
Pros SWT:
- uses native elements when possible, so always native behavior
- supported by eclipse, gui editor VEP (VEP also supports Swing and AWT)
- large number of examples online
- has an integrated awt/swt bridge to allow use of awt and swing components
Cons SWT:
- requires native libraries for each
supported system - may not support every behavior on all systems because of native
resources used (hint options) - managing native resources, while native components will often be disposed with their parent other resources such as Fonts have to be manually released or registered as dispose listener to a component for automatic release.