站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Java Tutorial 5.0 英文版

Advanced GUI Building - Java Tutorial 5.0 英文版

The JavaTM Tutorial
Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search
Feedback Form

Trail: Overview

Advanced GUI Building

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 the java.awt.image packages are enhanced. New packages are java.awt.color, java.awt.font, java.awt.geom, and java.awt.print.

  • The java.awt package includes the new Graphics2D class for better geometry, transformation, color, and text rendering, and has enhanced color and font capabilities. The Color class supports a full range of color spaces, and the Font 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. The BufferedImage 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 Microsoft Windows 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 an Applet 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:
  • 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.
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.

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.


Previous Page Lesson Contents Next Page Start of Tutorial > Start of Trail > Start of Lesson Search
Feedback Form

Copyright 1995-2005 Sun Microsystems, Inc. All rights reserved.