Overview |
The Java 2D API, JavaBeans, and the Sound engine provide advanced functionality for building interesting, modular, and more usable user interfaces.2D Graphics
The Java 2D API, introduced in JDK 1.2, gives you everything you need to enhance the appearance of your GUI with shapes, color, stylized text, foreign-language text, and image processing. The Java 2D API also introduces a printing model that gives you more control, power, and flexibility in application-level printing.The
java.awt
and thejava.awt.image
packages are enhanced. New packages arejava.awt.color
,java.awt.font
,java.awt.geom
, andjava.awt.print
.
- The
java.awt
package includes the newGraphics2D
class for better geometry, transformation, color, and text rendering, and has enhanced color and font capabilities. TheColor
class supports a full range of color spaces, and theFont
class supports any font on the system. You also get more texture map and fill pattern options; image compositing and transparency capabilities; more line widths, end caps, line styles, and dash patterns; and a flexible device model.- The
java.awt.color
package supports high-quality color output, using profiles and a full array of color spaces for defining device-dependent and device-independent color attributes.- The
java.awt.font
package supports glyphs and text with multiple fonts that can be transformed and drawn into a graphics context.- The
java.awt.geom
package lets you create a wide range of shapes, including arbitrary and point-by-point paths; perform affine transformations (transformations that maintain parallel lines); and use float and/or double precision in most cases.- The
java.awt.image
package supports a full range of image-processing capabilities, including affine transformation, amplitude scaling, lookup-table modification, color conversions, and convolutions. TheBufferedImage
class describes an image with an accessible buffer of image data consisting of color model and data layout information.- The
java.awt.print
package introduces for the Win32 and Solaris platforms a printing model whereby the printing system drives the printing process to give you more control, power, and flexibility in application-level printing. The Java 2D printing system can print all Java 2D regular and composite graphics, and supports soft collating, reverse-order printing, and booklet printing.Sound
Before JDK 1.2, only applets could play sound and only one sound format was supported. JDK 1.2 adds anApplet
class method,newAudioClip
, that enables all kinds of programs to load and play sounds. The Sound engine in JDK 1.2 adds support for several sound formats, including AIFF, WAV, MIDI, and RMF.JavaBeans
Introduced in JDK 1.1, JavaBeans let you build reusable and interchangeable software components that can be visually constructed and manipulated in builder tools. JavaBeans can be simple, such as pushbuttons or dialog boxes, or more complex, such as spreadsheets and calendars. Individual JavaBeans vary in functionality, but most have the following features in common:In JDK 1.2 JavaBeans includes an extensible and standard runtime containment and services protocol, as well as drag-and-drop support. When a Bean is introduced to its environment, it knows it is running inside the Java Virtual Machine (JVM) and has access to the core Java API. The protocol provides a standard way to nest Beans within other Beans and to have the nested Bean be able to access additional runtime services from its environment. Also, the environment or containing Bean can extend its capabilities directly to the nested Bean.
- Introspection, which allows a builder tool to analyze how a Bean works.
- Customization, which allows a user to alter the appearance and the behavior of a Bean.
- Events, which allow Beans to fire events and to inform builder tools about events.
- Properties, which allow Beans to be manipulated programmatically and to support customization.
- Persistence, which allows customized Beans in an application builder to have their states saved and restored. Typically persistence is used with an application builder's Save and Load menu commands to restore any work that has gone into constructing an application.
Drag-and-drop support means that Java and non-Java applications can readily share data. JavaBeans Drag and Drop works with the JFC accessibility API and can be extended to support diverse input devices.
Overview |