Swing是JAVA内置的,因此商用免费,优点是无需额外引入依赖而且跨平台。

SWT是Eclipse开发并维护的,开源协议是Eclipse所以商用免费,有点是界面调用了不同系统的底层实现的,做出来的窗体效果比较贴近系统,所以效果相对精美。

JavaFX是官方的产物,JDK1.8是内置,超过JDK1.8的版本都是需要独立引用,功能及效果均超越Swing和SWT,但开源协议是CC BY-NC 4.0 DEED,也就是不可商用!不可商用!不可商用!因此没有学习价值。

所以,长远来看,还是用Swing吧。