Java JFC

17 Mar 2025 | 4 分钟阅读

1997年,Sun Microsystems和IBM决定解决使软件可访问的问题。他们的目标是开发一种可访问性API,应用程序开发人员可以在Java类库上实现该API,以使应用程序可访问。因此,Sun Microsystems编写了可访问性API,IBM测试了他们的API并将其实现到他们的基础类中。Sun Microsystems将JFC/ Swing直接集成到Java 1.2及更高版本中。在本节中,我们将讨论JFC、其组件、服务以及JFCAWT的区别。

JFC是什么?

JFC代表Java Foundation Classes。它是一套丰富全面的GUI组件和服务,可简化桌面、客户端和Internet应用程序的开发和部署。它是AWT的超集。JFC通过添加许多组件和服务来扩展AWT,如下所示:

API/功能描述
Swing GUI组件它包括从按钮到拆分窗格再到表格的所有内容。许多组件能够进行排序、打印和拖放,这只是支持的特性中的一小部分。
可插拔的外观支持Swing应用程序的外观是可插拔的,允许选择外观。例如,同一个程序可以使用Java外观或Windows外观。此外,Java平台还支持GTK+外观,这使得数百种现有外观可供Swing程序使用。还有许多来自各种来源的外观包。
可访问性API它是JFC的一部分,可与替代的输入和输出设备配合使用。它使辅助技术(如屏幕阅读器、屏幕放大器和盲文终端)能够从UI获取信息。
Java 2D API它使开发人员能够轻松地在应用程序和小程序中嵌入高质量的2D图形、文本和图像。Java 2D包含用于生成高质量输出并将其发送到打印设备的广泛API。
国际化它允许开发人员构建可以与世界各地的用户以其自己的语言和文化习俗进行交互的应用程序。通过输入法框架,开发人员可以构建可以接受使用数千种不同字符的语言(如日语、中文或韩语)的文本的应用程序。
拖放 (DnD)拖放是GUI中使用的更常见的隐喻之一。它允许用户单击并“按住”一个GUI对象,将其移动到桌面上的另一个窗口或框架,并产生可预测的结果。它允许用户实现可放置元素,这些元素可以在Java应用程序和本地应用程序之间传输信息。虽然DnD不是Swing的一部分,但它对于商业质量的应用程序至关重要。

Sun Microsystems向JFC添加了一个称为Multiplexed UI的机制。它是PLAF(可插拔外观)的扩展。PLAF的一个关键特性是它允许开发人员替换UI的外观,而UI可以直接访问。它旨在为应用程序开发人员提供一个通用接口。

Multiplexed UI机制允许开发人员

  • 在JVM启动时向JFC组件库添加多个替代UI。
  • 使多模态访问(如免提语音访问)功能成为可能,且开发工作量更少。

下图描述了JFC的架构。

JFC Java

在上图中,我们看到Swing位于AWT组件的部分(而非全部)之上。Swing依赖于实现AWT各个部分的许多API,包括Java2D、拖放和可访问性API。

JFC的优点

  • 其组件是可插拔的,只需几行代码。
  • 它保留了Java的特性。
  • 在某个操作系统上完美运行的应用程序在另一个操作系统上也完美运行。
  • 它提供了一个开放的架构。

因此,通过JFC创建的GUI的显示是可预测的。因此,JFC广泛用于客户端应用程序。

JFC的组件

JFC组件包括所有JavaBeansswing组件,这些组件提供可重用性、互操作性和可移植性。请注意,Swing是AWT的增强,而不是替代。

JFC和WFC的区别

JFCWFC
它支持健壮且可移植的接口。它仅在需要Microsoft扩展的Windows(32位)用户界面上运行。
由于其面向对象的性质,它提供了对用户界面的更大控制。WFC可用的控件数量可能比JFC少。
它需要更多内存。它需要更少的内存。
其性能比WFC慢。其性能比JFC快。
它用于构建复杂的用户界面。它用于构建简单的用户界面。