Java Foundation Classes

JFC – Java Foundation Classes- A set of APIs for building the GUI-related components of Java applets  and applications.


The APIs included in JFC are:
  • The Abstract Window Toolkit (AWT)
  • SWING
  • Accessibility
  • Drag and Drop
  • Java 2D
  • Internationalization 
AWT

  • Provides capability to create the platform-independent, GUI based programs and is a very important contribution to Java’s popularity. 
  • AWT is not only better API for developing Windows applications but also a better API for programming window based applications on platforms ranging from Motif to OS/2
  •  The original AWT was a peer-based toolkit, meaning that each component created a peer that was implemented in native code for the platform on which Java Virtual Machine (JVM) was executing.
  • The process of requiring each interface component to create its own window made the AWT classes difficult to port and proved taxing on the system resources
  • It also led to a problem common among toolkits that target multiple platforms.
SWING
  • The major component that is the part of JFC.
  • Provides many types of GUI components, providing 100% pure java ,means they do not depend on the native window implementation to support them.
  • Swing components are available and consistent across all platforms.
  • Swing components are implemented in terms of the underlying AWT, but these components do not use AWT components. 
  •  The major component that is the part of JFC.
  • Provides many types of GUI components, providing 100% pure java ,means they do not depend on the native window implementation to support them.
  • Swing components are available and consistent across all platforms.
  • Swing components are implemented in terms of the underlying AWT, but these components do not use AWT components.
Java 2D
  • It is a graphics API designed to provide java applications with an advanced set of classes for  2D graphics and imaging.
  • The Java 2D API extends the java.awt and the java.awt.image classes and provides a rich set of paint styles, mechanisms for defining complex shapes, method and classes for fine-tuning the rendering process.
  • These APIs provide for platform-independent graphic applications to be developed.
Internationalization :
  •  Allows developers to build applications that can interact with users worldwide in their own languages and cultural conventions. 
  • With the input method framework developers can build applications that accept text in languages that use thousands of different characters, such as Japanese, Chinese, or Korean.