Java >
Guidelines Home Page >  Java Look and Feel Design Guidelines
Part I: Overview
2: The Java Foundation Classes
  Previous Next Contents/Index/Search

2: The Java Foundation Classes

This book assumes that you are designing software based on the Java Foundation Classes ( JFC) and utilizing the Java look and feel. This chapter provides an overview of that technology: the Java TM 2 SDK (software development kit), the user interface components of the Java Foundation Classes, the pluggable look and feel architecture, and available look and feel designs.

Java 2 Software Development Kit

The APIs and tools that developers need to write, compile, debug, and run Java applications are included in the Java 2 SDK.

The guidelines in this book pertain to GUI applications built with the Java 2 SDK, Standard Edition, v. 1.3 ( J2SE), and the Java 2 SDK, Enterprise Edition, v. 1.3 ( J2EE), (both referred to hereafter as "Java 2 SDK"). The guidelines do not apply to applications built with the Java 2 SDK, Micro Edition.

Java Foundation Classes

The JFC includes the Swing classes, which define a complete set of GUI components for JFC applications. An extension to the original Abstract Window Toolkit ( AWT), the JFC includes the Swing classes, pluggable look and feel designs, and the Java Accessibility API, which are all implemented without native code (code that refers to the functions of a specific operating system or is compiled for a specific processor). The JFC components include windows and frames, panels and panes, dialog boxes, menus and toolbars, buttons, sliders, combo boxes, text components, tables, list components, and trees.

All the components have look and feel designs that you can specify. The cross-platform, default look and feel is the Java look and feel. For details on the design principles and visual elements underlying the Java look and feel, see Chapter 1.

  In code, the Java look and feel is referred to as "Metal."

The Java 2 SDK contains the AWT, the class library that provides the standard application programming interfaces for building GUIs for Java programs.

In the Java 2 SDK, the JFC also includes the Java 2D API, drag and drop, and other enhancements. The Java 2D API provides an advanced two-dimensional imaging model for complex shapes, text, and images. Features include enhanced font and color support and a single, comprehensive rendering model.

Support for Accessibility

Several features of the Java 2 SDK support people with special needs: the Java Accessibility API, the Java Accessibility Utilities, keyboard navigation, mnemonics, keyboard shortcuts (also called "accelerators"), customizable colors and fonts, and dynamic GUI layout.

The Java Accessibility API provides ways for an assistive technology to interact and communicate with JFC components. A Java application that fully supports the Java Accessibility API is compatible with technologies such as screen readers and screen magnifiers.

A separate set of utility classes, Java Accessibility Utilities, provides support in locating the objects that implement the Java Accessibility API. (These utilities are necessary for developers who develop only assistive technologies, not mainstream applications.)

A pluggable look and feel architecture is used to build both visual and nonvisual designs, such as audio and tactile user interfaces. For more on the pluggable look and feel, see Pluggable Look and Feel Architecture.

Keyboard navigation enables users to use the keyboard to move between components, open menus, highlight text, and so on. This support makes an application accessible to people who find it difficult or impossible to use a mouse. For details on keyboard operations, see Appendix A.

Mnemonics show users which key to press (in conjunction with the Alt key) in order to activate a command or navigate to a component. (For details on mnemonics, see Mnemonics.)

Keyboard shortcuts are keystroke combinations (usually a modifier key and a character key, like Control-C) that activate menu items from the keyboard even if the relevant menu is not currently displayed. (For more on keyboard shortcuts, see Keyboard Shortcuts.)

Support for Internationalization

The Java 2 SDK provides internationalized text handling and resource bundles. Text handling features include support for the bidirectional display of text lines--important for displaying documents that mix languages with a left-to-right text direction (for instance, English, German, or Japanese) and languages with a right-to-left direction (for instance, Arabic or Hebrew).

The Java 2 SDK also provides resource bundles, locale-sensitive sorting, and support for localized numbers, dates, times, and messages.

Java Look and Feel Design Guidelines, second edition.
Copyright 2001. Sun Microsystems, Inc. All Rights Reserved.
Previous Next Contents/Index/Search
Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
Java 8 banner (182)