Joa*_*uer 9

J识别所有Swing组件.

在它成为JDK不可或缺的一部分之前,Swing曾经作为Java Foundation Classes销售.

  • +1:在同一源文件中包含*AWT类和Swing类,这也让人头疼. (2认同)

Jir*_*era 6

Joachim Sauer的回答是正确的.只有在需要更深入地了解各种Java GUI方法和演变时,请继续阅读.

第一个Java GUI被称为AWT(抽象窗口工具包).AWT是一个非常简单的工具包,具有有限的GUI组件,布局管理器和事件.AWT类的一个例子是java.awt.Frame.

然后由Sun开发了一个更复杂的解决方案 - > JFC Swing(Java Foundation Classes,又名Swing).在Swing中,Sun创建了一个设计精良,灵活,功能强大的GUI工具包.不幸的是,这意味着Swing需要时间来学习,而且有时对于常见情况来说太复杂了.Swing是基于AWT的部分构建的.所有Swing零件也是AWT零件.Swing使用AWT事件模型和支持类,例如颜色,图像和图形.Swing类的一个例子是javax.swing.JFrame.在这里,您可以看到所有Swing GUI组件前缀的"J".

SWT是一种低级GUI工具包,其概念与AWT相当.JFace是一组增强的组件和实用程序服务,可以更轻松地使用SWT构建GUI.SWT的构建者从AWT和Swing实现中学习并尝试构建一个既没有缺点又具有缺点的系统.在许多方面,他们成功了.

请注意,AWT和Swing都是J2SE包的一部分.虽然SWT是一个独立的第三方库,它随Eclipse IDE(org.eclipse.swt)一起成长.

此概述来自http://www.ibm.com/developerworks/grid/library/os-swingswt.有关详细信息,请参阅该链接.

  • "Swing需要时间来学习......太复杂" - 所有UI框架都需要时间来学习; Swing是比较容易的一个.允许复杂使用 - 但不是必需的. (2认同)