Java Foundation Classes
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.
Components
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
differentiation
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:
- Java Web Start / Java Network Launching Protocol (JNLP) - deployment of Java applications via browser
- Java PlugIn - Java plugin for browsers
- Java 3D - 3D for Java applications
- Java sound
- Java bindings for OpenGL (JOGL)
- Java Advanced Imaging (JAI)
- JavaBeans
- JavaHelp System - Integration of online help in Java applications
- JDesktop Integration Components (JDIC)
The Java Foundation Classes (and also the Java Desktop APIs) overlap with the Java Media APIs . These contain the following parts:
- Java 2D
- Java 3D
- Java Advanced Imaging (JAI)
- Java bindings for OpenGL (JOGL)
- Java Image I / O API
- Java Media Framework (JMF)
history
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
- Standard Widget Toolkit - competitor of Swing
Web links
- Java SE Desktop Overview - Overview of all Java desktop components, including the Java Foundation Classes
- "The Swing Tutorial" (Sun)
- Java Look & Feel Design Guidelines
Individual evidence
- ↑ About the JFC and Swing - Definition of the Java Foundation Classes
- ↑ Java SE Desktop Overview
- ↑ Java Media APIs