Support for advanced media capabilities on the Java platform is provided via a suite of optional packages for graphics, image I/O, image processing, and time-based media (video, audio, etc.).
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.
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.
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.
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.
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.
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.