Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及后续版本中更新的语言功能的摘要,请参见Java语言变更。
有关所有JDK版本的新功能、增强功能和已删除或弃用选项的信息,请参见JDK发布说明。
JFC是Java Foundation Classes的缩写,它包含了一组用于构建图形用户界面(GUI)和为Java应用程序添加丰富的图形功能和交互性的特性。它被定义为包含下表所示的特性。
特性 | 描述 |
---|---|
Swing GUI组件 | 包括从按钮到分割面板到表格的所有组件。许多组件能够进行排序、打印和拖放等操作,支持的功能还包括更多。 |
可插拔的外观支持 | Swing应用程序的外观是可插拔的,可以选择不同的外观。例如,同一程序可以使用Java外观或Windows外观。此外,Java平台还支持GTK+外观,使得Swing程序能够使用上百种现有的外观。还有许多其他来源提供的外观包。 |
辅助功能API | 使得辅助技术(如屏幕阅读器和盲文显示器)能够从用户界面获取信息。 |
Java 2D API | 使开发人员能够轻松地在应用程序和小程序中加入高质量的2D图形、文本和图像。Java 2D包括广泛的API,用于生成和发送高质量输出到打印设备。 |
国际化 | 允许开发人员构建能够以用户自己的语言和文化约定与全球用户交互的应用程序。通过输入法框架,开发人员可以构建接受使用成千上万个不同字符的语言(如日语、中文或韩语)的文本的应用程序。 |
本教程专注于Swing组件。我们将帮助您选择适合您GUI的组件,告诉您如何使用它们,并为您提供使用它们的背景信息。我们还将讨论其他与Swing组件相关的特性。
Swing API强大、灵活,但也非常庞大。Swing API有18个公共包:
javax.accessibility |
javax.swing.plaf |
javax.swing.text |
javax.swing |
javax.swing.plaf.basic |
javax.swing.text.html |
javax.swing.border |
javax.swing.plaf.metal |
javax.swing.text.html.parser |
javax.swing.colorchooser |
javax.swing.plaf.multi |
javax.swing.text.rtf |
javax.swing.event |
javax.swing.plaf.synth |
javax.swing.tree |
javax.swing.filechooser |
javax.swing.table |
javax.swing.undo |
幸运的是,大多数程序只使用API的一个小子集。本教程将为您整理API,为您提供常见代码示例,并指引您使用可能需要的方法和类。本教程中的大部分代码仅使用一个或两个Swing包:
javax.swing
javax.swing.event
(不一定必需)