The JavaTM platform's Abstract
Windowing Toolkit (AWT) provides APIs
for constructing user interface components such as menus, buttons, text
fields, dialog boxes, checkboxes, and for handling user input through
those components. In addition, AWT allows for rendering of
simple shapes such as ovals and polygons and enables developers to control
the user-interface layout and fonts used by their applications.
The Swing APIs also provide graphical component (GUI) for use in user
interfaces. The Swing APIs are written in the Java programming
language without any reliance on code that is specific to the
GUI facilities provided by underlying operating system. This allows
the Swing GUI components to have a "pluggable" look-and-feel that
can be switched while an application is running.
The Java 2DTM API is a set of classes
for advanced 2D graphics and imaging. It encompasses 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 platform includes a powerful API for capturing, processing,
and playing back audio and MIDI (Musical Intstrument Digital Interface)
data. This API is supported by an efficient sound engine which guarantees
high-quality audio mixing and MIDI synthesis capabilities for the platform.
The input method framework enables the collaboration between text editing
components and input methods in entering text. Input methods are software
components that let the user enter text in ways other than simple typing
on a keyboard. They are commonly used to enter Japanese, Chinese, or
Korean -- languages using thousands of different characters - on
keyboards with far fewer keys. However, the framework also supports input
methods for other languages and the use of entirely different input
mechanisms, such as handwriting or speech recognition.
With the Java Accessibility API, developers can easily create Java
applications that are accessible to disabled persons. Accessible Java
applications are compatible with assistive technologies such as screen
readers, speech recognition systems, and refreshable braille displays.