Java Foundation Classes
Encyclopedia
The Java Foundation Classes (JFC) are a graphical framework for building portable Java
-based graphical user interface
s (GUIs). JFC consists of the Abstract Window Toolkit
(AWT), Swing
and Java 2D
. Together, they provide a consistent user interface for Java programs, regardless whether the underlying user interface system is Windows
, Mac OS X
or Linux
.
was heavily criticized for being little more than a wrapper around the native graphical capabilities of the host platform. That meant that the standard widget
s in the AWT relied on those capabilities of the native widgets, requiring the developer to also be aware of the differences between host platforms.
An alternative graphics library called the Internet Foundation Classes
was developed in more platform-independent code by Netscape.
At the same time, another graphics library, called Application Foundation Classes
(AFC), was developed independently by Microsoft
. It was made to be easier to extend the graphic components, but was primarily aimed for use with the Microsoft Java Virtual Machine
.
On April 2, 1997, Sun Microsystems
and Netscape announced their intention to combine IFC with other technologies to form the "Java Foundation Classes". The "Java Foundation Classes" were later renamed "Swing", adding the capability for a pluggable look and feel
of the widgets. This allowed Swing programs to maintain a platform-independent code base, but mimic the look of a native application. The release of JFC made IFC obsolete, and dropped interest for Microsoft's AFC.
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
-based graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
s (GUIs). JFC consists of the Abstract Window Toolkit
Abstract Window Toolkit
The Abstract Window Toolkit is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes — the standard API for providing a graphical user interface for a Java program.AWT is also the GUI toolkit for a...
(AWT), Swing
Swing (Java)
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
and Java 2D
Java 2D
In computing, Java 2D is an API for drawing two-dimensional graphics using the Java programming language. Every Java 2D drawing operation can ultimately be treated as filling a shape using a paint and compositing the result onto the screen....
. Together, they provide a consistent user interface for Java programs, regardless whether the underlying user interface system is Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
or Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
.
History
AWT existed before JFC. AWTAbstract Window Toolkit
The Abstract Window Toolkit is Java's original platform-independent windowing, graphics, and user-interface widget toolkit. The AWT is now part of the Java Foundation Classes — the standard API for providing a graphical user interface for a Java program.AWT is also the GUI toolkit for a...
was heavily criticized for being little more than a wrapper around the native graphical capabilities of the host platform. That meant that the standard widget
Widget (computing)
In computer programming, a widget is an element of a graphical user interface that displays an information arrangement changeable by the user, such as a window or a text box. The defining characteristic of a widget is to provide a single interaction point for the direct manipulation of a given...
s in the AWT relied on those capabilities of the native widgets, requiring the developer to also be aware of the differences between host platforms.
An alternative graphics library called the Internet Foundation Classes
Internet Foundation Classes
The Internet Foundation Classes were a graphics library for Java originally developed by Netcode Corporation and first released by Netscape Corporation on December 16, 1996.-History:...
was developed in more platform-independent code by Netscape.
At the same time, another graphics library, called Application Foundation Classes
Application Foundation Classes
The Application Foundation Classes were a graphical framework for building Java-based graphical user interfaces , developed by Microsoft and shipped as part of the Microsoft SDK for Java...
(AFC), was developed independently by Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
. It was made to be easier to extend the graphic components, but was primarily aimed for use with the Microsoft Java Virtual Machine
Microsoft Java Virtual Machine
The Microsoft Java Virtual Machine was a proprietary Java Virtual Machine computer program from Microsoft. It was first made available for Internet Explorer version 3 so that users could run Java applets when browsing on the World Wide Web. It was the fastest Windows-based implementation of a Java...
.
On April 2, 1997, Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
and Netscape announced their intention to combine IFC with other technologies to form the "Java Foundation Classes". The "Java Foundation Classes" were later renamed "Swing", adding the capability for a pluggable look and feel
Pluggable look and feel
Pluggable look and feel is a mechanism used in the Java Swing widget toolkit allowing to change the look and feel of the graphical user interface at runtime....
of the widgets. This allowed Swing programs to maintain a platform-independent code base, but mimic the look of a native application. The release of JFC made IFC obsolete, and dropped interest for Microsoft's AFC.