When comparing Java / Swing vs Java / SWT, the Slant community recommends Java / Swing for most people. In the question“What are the best cross-platform GUI toolkits?” Java / Swing is ranked 16th while Java / SWT is ranked 30th. The most important reason people chose Java / Swing is:
Swing is part of the Java API.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Part of Java
Swing is part of the Java API.
Pro Very good and powerful API
E.g. separate models.
Pro Powerful controls
E.g. JTable which works fine on every platform with very large row counts, e.g. 100.000+.
Pro Several look and feels available
Pro Easy to use
Drag and drop utility.
Pro Open source
Pro Actively developed
Pro Native controls
Cons
Con Only for JRE-based languages
Con Bugfixes rely on Oracle
Con No real native look
Though the importance of the native look seems to have dropped the last years by the raise of in-browser-applications.
However, you can achieve native look and feel using UIManager.systemLookAndFeelClassName.
Con Severely deprecated
The system is ancient and Oracle has dropped support for it in favor of JavaFX
Con Only works in Java or JRE based software
Con Inherits limitation of native controls
E.g. slow handling of tables with a lot of rows on Linux.
Con No elegant abstraction
As in Swing; no models.