Java Foundation Classes

from Wikipedia, the free encyclopedia

The Java Foundation Classes (JFC) is a framework for creating graphical user interfaces in Java . The Java Foundation Classes are defined by the following features: Swing GUI components, pluggable look-and-feel support, accessibility, Java 2D and internationalization (i18n) . Together, these form the basis for platform-independent Smart Client Java GUIs, regardless of whether the underlying operating system is Windows , Sun Solaris or Linux . There are also implementations for most current operating systems.


The Java Foundation Classes are implemented in several APIs:

  • Swing GUI Components & Pluggable Look-and-Feel Support - Swing
  • Basis for Swing components and LayoutManager - Abstract Window Toolkit (AWT)
  • Representation & modification of 2-dimensional objects - Java 2D
  • Accessibility - Java Accessibility API (JAAPI) and special extensions in Swing components
  • Internationalization - java.util, java.text, Input Method Framework


The Java Foundation Classes make up part of the Java Desktop APIs and are often used synonymously with Java Desktop. In addition to the APIs mentioned above, the Java Desktop APIs also include the following:

The Java Foundation Classes (and also the Java Desktop APIs) overlap with the Java Media APIs . These contain the following parts:


AWT , at that time the only possibility to design user interfaces, was heavily criticized in the first years of Java’s existence. It is little more than a wrapper around the native graphics capabilities of the platforms on which Java is running. It could not do more than the respective platform offered and made it necessary for the developers to take account of the differences between the platforms.

Alternative graphics libraries such as the Internet Foundation Classes (IFC) from Netscape or the Application Foundation Classes (AFC) from Microsoft have been developed.

Finally, on April 2, 1997, Sun and Netscape announced the Internet Foundation Classes, linked with other technologies and expanded to include the ability of pluggable look-and-feel to bring out under the name “Java Foundation Classes”. Swing was first delivered at the end of 1997 with JDK 1.1.5 as an external library, the Java Foundation Classes have been an integral part of the Java runtime environment since JDK 1.2 ("Java 2") at the end of 1998.

The publication of the Java Foundation Classes made other approaches to the representation of Java GUIs, thus also the Internet Foundation Classes and the Application Foundation Classes, obsolete.

See also

Web links

Individual evidence

  1. About the JFC and Swing - Definition of the Java Foundation Classes
  2. Java SE Desktop Overview
  3. Java Media APIs