AWT有一个致命弱点:功能很弱。AWT必须使用所有图形操作系统的图形接口功能的交集,因为AWT的界面只有一套。基于AWT在GUI方向上失败的这一事实,SUN公司最终决定放弃AWT项目。1997年的JavaOne大会上提出,并在1998年5月发布的JFC(Java Foundation Classes)中包含了一个新的使用Java窗口的开发包。这个新的GUI组件叫做Swing,从结构上看,感觉它是对AWT的升级,并且看起来对Java占据计算机世界很有帮助。
遗憾的是,在以后的应用中,Swing依然受到了开发人员的抱怨,遭到很多软件开发商的质疑。尽管Swing在AWT的基础上作出了巨大的改进,但它仍然没能使Java成为构建桌面应用程序的优秀工具。它看起来是那样的庞大,虽然官方做了很多宣传与解释,但是没有一个开发人员会认为Swing是轻量级的。
SWT是IBM独立研发的。
JFace是SWT的扩展。
Eclipse的UI界面基于JFace。