Java Foundation Classes
Die Java Foundation Classes (JFC) ist eine Sammlung von APIs für die Erstellung portabler Java Graphical User Interfaces (GUIs). Die Java Foundation Classes werden durch die folgenden Features definiert: Swing GUI Komponenten, Pluggable Look-and-Feel Support, der Accessibility, Java 2D und der Internationalization.[1] Gemeinsam stellen diese die Basis für plattformunabhängige Smart Client Java GUIs, unabhängig davon, ob das darunterliegende Betriebssystem auf Windows, Sun Solaris or Linux läuft. Für alle aktuellen Betriebssysteme gibt es ebenfalls Implementierungen.
Java Foundation Classes Bestandteile
Die Java Foundation Classes werden in mehreren APIs implementiert:
- Swing GUI Komponenten & Pluggable Look-and-Feel Support - Swing
- Basis für Swing Komponenten sowie LayoutManager - Abstract Window Toolkit (AWT))
- Java2D - Java2D
- Accessibility - Accessibility API und in Swing Komponenten
- Internationalization - java.util, java.text, Input Method Framework
Differenzierung
Die Java Foundation Classes machen einen Teil der Java Desktop APIs aus und werden oft synonym mit Java Desktop verwendet. Zu den Java Desktop APIs werden aber zusätzlich zu den obengenannten APIs noch folgende gezählt:[2]
- Java Web Start/Java Network Launching Protocol (JNLP) - Deployment von Java Applikationen über Browser
- Java PlugIn - Plugin von Java für Brwoser
- Java 3D
- Java Sound
- Java Bindings for OpenGL (JOGL)
- Java Advanced Imaging (JAI)
- JavaBeans
- JavaHelp System
- JDesktop Integration Components (JDIC)
History
AWT was heavily criticized for being little more than a wrapper around the native graphical capabilities of the host platform. That meant that the standard widgets 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.
Ultimately, Sun merged the IFC with other technologies under the name "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 Media APIs
http://java.sun.com/javase/technologies/desktop/media/
Java 2D The Java 2D API is a set of classes for advanced 2D graphics and imaging, encompassing line art, text, and images in a single comprehensive model. The API provides extensive support for image compositing and alpha channel images, a set of classes to provide accurate color space definition and conversion, and a rich set of display-oriented imaging operators.
Java 3D The Java 3D API provides a set of object-oriented interfaces that support a high-level, scene-graph-based programming model that can be used to build, render, and control the behavior of 3D objects and visual environments. Using the Java 3D API, high-quality, high-performance, platform-independent 3D graphics may be incorporated into Java applications and applets.
Java Advanced Imaging The Java Advanced Imaging API (JAI) provides a set of object-oriented interfaces that supports a simple, high-level programming model which allows images to be manipulated easily in Java applications and applets. JAI goes beyond the functionality of traditional imaging APIs to provide a high-performance, platform-independent, extensible image processing framework.
Java Binding for OpenGL The Java Binding for the OpenGL API (JOGL) provides hardware-supported 3D graphics to applications written in Java. JOGL provides full access to the APIs in the OpenGL 2.0 specification as well as nearly all vendor extensions, and integrates with the AWT and Swing widget sets.
Java Image I/O The Java Image I/O API provides a pluggable architecture for working with images stored in files and accessed across the network. The JAI Image I/O Tools classes provide additional plugins for other stream types and for advanced formats such as JPEG-LS, JPEG2000, and TIFF.
Java Media Framework The Java MediaFramework API (JMF) enables audio, video and other time-based media to be added to applications and applets built on Java platform technology.
See also
External links
- ↑ About the JFC and Swing - Definition der Java Foundation Classes
- ↑ Java SE Desktop Overview