EARTH WEEK
Go paperless and save 40% on eligible eBooks, 70% on video now through April 26. Shop the sale.
Register your product to gain access to bonus material or receive a coupon.
"Great book! Fills a void in the Java world. Necessary reading for all Java developers, designers, and interface designers."
--Theo Mandel, Ph.D., author of The Elements of User Interface Design
The adoption of the Java Look and Feel Design Guidelines has contributed to a consistent user interface that gives Java applications a recognizable, uniform design. However, the distinctions between interface designers and developers in today's Internet application development environment are increasingly blurred. Most developers also design applications, though few are solely dedicated to interface design tasks. With this situation in mind, the second edition of this award-winning book includes:
The Java Look and Feel Design Guidelines, Second Editioncontinues to be an invaluable resource for creating cross-platform Java applications and applets with JFC components. The book covers design concepts underlying the Java look and feel and techniques for managing cross-platform delivery, applets, accessibility, and internationalization. It introduces the visual design and behavior provided with the Java look and feel and provides instruction in the design of application graphics. Reference chapters discuss windows, dialog boxes, menus, toolbars, basic controls, text components, tables, and tree components.
Preface.
I. OVERVIEW.
1. The Java Look and Feel.Fundamentals of the Java Look and Feel.
Visual Tour of the Java Look and Feel.
MetalEdit Application.
Retirement Savings Calculator Applet.
2. The Java Foundation Classes.Java 2 Software Development Kit.
Java Foundation Classes.
Support for Accessibility.
Support for Internationalization.
User Interface Components of the Java Foundation Classes.
Pluggable Look and Feel Architecture.
Example Model and Interfaces.
Client Properties.
Major JFC User Interface Components.
Look and Feel Options.
Java Look and Feel the Recommended Design.
Alternative Approaches.
Supplied Designs.
3. Design Considerations.Choosing an Application or an Applet.
Distribution.
Security Issues.
Placement of Applets.
Designing for Accessibility.
Benefits of Accessibility.
Accessible Design.
Planning for Internationalization and Localization.
Benefits of Global Planning.
Global Design.
II. FUNDAMENTAL JAVA APPLICATION DESIGN.
4. Visual Design.Themes.
Colors.
Fonts.
Layout and Visual Alignment.
Design Grids.
Text Layout.
Between-Component Spacing Guidelines.
Spacing Guidelines for Specific JFC Components.
Text in the Interface.
Headline Capitalization in English.
Sentence Capitalization in English.
5. Application Graphics.Working with Cross-Platform Color.
Working with Available Colors.
Choosing Graphic File Formats.
Choosing Colors.
Maximizing Color Quality.
Categorizing Application Graphics.
Designing Icons.
Working with Icon Styles.
Drawing Icons.
Designing Button Graphics.
Using Button Graphic Styles.
Producing the Flush 3D Effect.
Working with Button Borders.
Determining the Primary Drawing Area.
Drawing the Button Graphic.
Using Badges in Button Graphics.
Menu Indicators.
New Object Indicators.
Add Object Indicators.
Properties Indicators.
Combining Indicators.
Designing Symbols.
Designing Graphics for Corporate and Product Identity.
Designing Splash Screens.
Designing Login Splash Screens.
Designing about Boxes.
6. Behavior.Mouse Operations.
Pointer Feedback.
Mouse-over Feedback.
Clicking and Selecting Objects.
Displaying Contextual Menus.
Drag-and-Drop Operations.
Typical Drag and Drop.
Pointer and Destination Feedback.
Keyboard Operations.
Keyboard Focus.
Keyboard Navigation and Activation.
Keyboard Shortcuts.
Mnemonics.
Operation Feedback.
Progress Animation.
Status Animation.
Design for Smooth Interaction.
Initial Focus.
Navigation.
Password Field.
Status and Error Messages.
Text Selection and Filled Text Fields.
III. THE COMPONENTS OF THE JAVA FOUNDATION CLASSES.
7. Windows and Panes.Anatomy of a Primary Window.
Constructing Windows.
Primary Windows.
Secondary Windows.
Plain Windows.
Utility Windows.
Organizing the Contents of Windows.
Panels.
Scroll Panes.
Tabbed Panes.
Split Panes.
Working with Multiple Document Interfaces.
Internal Windows.
Internal Utility Windows.
Window Titles.
Title Text in Primary Windows.
Title Text in Secondary Windows.
Title Text in Internal Windows.
8. Dialog Boxes and Alert Boxes.Modal and Modeless Dialog Boxes.
Dialog Box Design.
Tab Traversal Order.
Command Buttons in Dialog Boxes.
Single and Multiple Use Dialog Boxes.
Default Command Buttons.
Common Dialog Boxes.
Find Dialog Boxes.
Login Dialog Boxes.
Preferences Dialog Boxes.
Progress Dialog Boxes.
Color Choosers.
Alert Boxes.
Info Alert Boxes.
Warning Alert Boxes.
Error Alert Boxes.
Question Alert Boxes.
9. Menus and Toolbars.Menu Elements.
Menu Bars.
Drop-down Menus.
Submenus.
Menu Items.
Separators.
Menu Item Graphics.
Checkbox Menu Items.
Radio Button Menu Items.
Common Menus.
Typical File Menu.
Typical Edit Menu.
Typical Format Menu.
Sample View Menu.
Typical Help Menu.
Contextual Menus.
Toolbars.
Toolbar Placement.
Draggable Toolbars.
Toolbar Buttons.
Tool Tips.
10. Basic Controls.Command Buttons.
Default Command Buttons.
Combining Graphics with Text in Command Buttons.
Using Ellipses in Command Buttons.
Toggle Buttons.
Independent Choice.
Exclusive Choice.
Checkboxes.
Radio Buttons.
List Boxes.
Scrolling.
Selection/Choice Models for List Components.
Combo Boxes.
Noneditable Combo Boxes.
Editable Combo Boxes.
Sliders.
11. Text Components.Labels.
Labels That Identify Controls.
Labels That Communicate Status and Other Information.
Text Fields.
Noneditable Text Fields.
Editable Text Fields.
Password Fields.
Text Areas.
Editor Panes.
Default Editor Kit.
Styled Text Editor Kit.
RTF Editor Kit.
HTML Editor Kit.
12. Selectable Lists, Tables, and Tree Components.Selectable Lists.
Example 1: Selectable Lists and Associated Tables.
Example 2: Selectable Lists and Associated Text Fields.
Tables.
Table Appearance.
Table Scrolling.
Column Reordering.
Column Resizing.
Row Sorting.
Selection Models for Tables.
Tree Components.
Lines in Tree Components.
Graphics in Tree Components.
Editing in Tree Components.
Appendix A: Keyboard Shortcuts, Mnemonics, and Operations.Common Keyboard Shortcuts.
Common Mnemonics.
Checkboxes.
Combo Boxes.
Command Buttons.
Backing Windows and Internal Windows.
Secondary Windows.
HTML Editor Kits.
List Components.
Menus.
Radio Buttons.
Scrollbars.
Sliders.
Split Panes.
Tabbed Panes.
Tables.
Text Areas and Default and Styled Text Editor Kits.
Text Fields.
Toggle Buttons.
Tool Tips.
Toolbars.
Tree Components.
Appendix B: Graphics Repository.General Graphics.
Adding Objects.
Saving Edits or Checkpoints.
Stopping a Task.
Updating the Screen Display.
Changing Magnification Levels.
Specifying Preferences and Properties.
Printing.
Displaying and Retrieving Previously Visited Locations.
Creating and Sending Electronic Mail.
Aligning Objects.
Justifying Objects.
Searching.
Editing Objects and Data.
Importing and Exporting Objects.
Providing Help and Information.
Navigation.
Vertical Traversal.
Horizontal Traversal.
Returning to an Initial Location.
Table Graphics.
Column Operations.
Row Operations.
Text.
Text Alignment and Justification.
Type Style Graphics.
Media.
Creating a Movie.
Moving Through Time-Based Media.
Graphics for Development.
Creating and Deploying Applications and Applets.
Creating and Adding Beans and Enterprise Beans.
Creating Hosts and Servers.
Creating and Adding Java Archive Files.
Creating and Adding Web Archive Files and Web Components.
Appendix C: Localization Word Lists.European Languages.
Asian Languages.
Appendix D: Switching Look and Feel Designs.Pitfalls of User-Controlled Switching.
Guidelines for Switching Look and Feel Designs.
How to Present the Choice.
Nomenclature.
Glossary.Java Look and Feel Design Guidelines, second edition, provides essential information for anyone involved in creating cross-platform GUI (graphical user interface) applications and applets in the JavaTM programming language. In particular, this book offers design guidelines for software that uses the Swing classes together with the Java look and feel.
This revised and expanded edition contains a collection of toolbar graphics, lists of terms localized for European and Asian languages, and an appendix on look and feel switching. New and revised guidelines are provided throughout, and new sections discuss smooth interaction, the use of badges in button graphics, and revised standards for window titles. Also included with this edition is a companion CD-ROM that holds code samples for a number of figures in the book, a repository of graphics, and localized word lists.
Although an application's human interface designer and software developer might well be the same person, the two jobs involve different tasks and require different skills and tools. Primarily, this book addresses the designer who chooses the interface elements, lays them out in a set of components, and designs the user interaction model for an application. (Unless specified otherwise, this book uses "application" to refer to both applets and applications.) This book should also prove useful for developers, technical writers, graphic artists, production and marketing specialists, and testers who participate in the creation of Java applications and applets.
Java Look and Feel Design Guidelines focuses on design issues and human-computer interaction in the context of the Java look and feel. It also attempts to provide a common vocabulary for designers, developers, and other professionals. If you require more information about technical aspects of the Java Foundation Classes (JFC), visit the JFC and Swing Connection web sites at http://java.sun.com/products/jfc and http://java.sun.com/products/jfc/tsc.
The guidelines provided in this book are appropriate for GUI applications and applets that run on personal computers and network computers. They do not address the needs of software that runs on consumer electronic devices.
Java Look and Feel Design Guidelines includes the following chapters:
Part One, "Overview," includes two introductory chapters about the Java look and feel and the JFC.
Part Two, "Fundamental Java Application Design," describes some of the general issues facing professionals using the JFC to create cross-platform applications, including visual design, the creation of application graphics, and behavior.
Part Three, "The Components of the Java Foundation Classes," contains a description of the components and accompanying guidelines for their use.
The remainder of the book consists of the appendixes, glossary, and index.
This book does not provide detailed discussions of human interface design principles or the design process, nor does it present much general information about usability studies.
For authoritative explications of human interface design principles and the design process, see Apple Computer's Macintosh Human Interface Guidelines.
For a classic book on usability studies, see Jakob Nielsen's Usability Engineering.
For details, see Related Books and Web Sites.
The screen shots in this book illustrate the use of JFC components in applications with the Java look and feel. Because such applications typically run inside windows provided and managed by the native platform, the screen shots show assorted styles of windows and dialog boxes from the Microsoft Windows, Macintosh, and CDE (Common Desktop Environment) platforms.
Throughout the text, symbols are used to call your attention to design guidelines. Each type of guideline is identified by a unique symbol.
Java look and feel standards promote flexibility and ease of use in cross-platform applications. In addition, they support the creation of applications that are accessible to all users, including users with physical and cognitive limitations. These standards require you to take actions that go beyond the provided appearance and behavior of the JFC components.
Occasionally, you might need to violate these standards. In such situations, use your discretion to balance competing requirements. Be sure to engage in usability studies to validate your judgments.
Many excellent references are available on topics such as fundamental principles of human interface design, design issues for specific (or multiple) platforms, and issues relating to internationalization, accessibility, and applet design.
Baecker, Ronald M., William Buxton, and Jonathan Grudin, eds. Readings in Human-Computer Interaction: Toward the Year 2000, 2d ed. Morgan Kaufman, 1995. Based on research from graphic and industrial design and studies of cognition and group process, this volume addresses the efficiency and adequacy of human interfaces.
Hurlburt, Allen. The Grid: A Modular System for the Design and Production of Newspapers, Magazines, and Books. John Wiley & Sons, 1997. This is an excellent starting text about graphical page layout. Although originally intended for print design, this book contains many guidelines that are applicable to software design.
IBM Human-Computer Interaction Group. "IBM Ease of Use." Available: http://www.ibm.com/ibm/easy. This web site covers many fundamental aspects of human interface design.
Johnson, Jeff. GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers. Morgan Kaufman, 2000. A new book that provides examples of poor design in windows, inconsistent use of labels, and lack of parallelism in visual layout and grammar. The writer develops principles for achieving lucidity and the harmony of look and feel.
Laurel, Brenda, ed. Art of Human-Computer Interface Design. Addison-Wesley, 1990. Begun as a project inside Apple, this collection of essays explores the reasoning behind human-computer interaction and looks at the future of the relationship between humans and computers.
Mullet, Kevin, and Darrell Sano. Designing Visual Interfaces: Communication Oriented Techniques. Prentice Hall, 1994. This volume covers fundamental design principles, common mistakes, and step-by-step techniques for handling the visual aspects of interface design.
Nielsen, Jakob. Usability Engineering. AP Professional, 1994. This is a classic book on design for usability. It gives practical advice and detailed information on usability and other assessment techniques and also includes a chapter on international user interfaces.
Norman, Donald A. The Design of Everyday Things. Doubleday, 1990. A well-liked, amusing, and discerning examination of why some products satisfy while others only baffle or disappoint. Photographs and illustrations throughout complement the analysis of psychology and design.
Shneiderman, Ben. Designing the User Interface: Strategies for Effective Human-Computer Interaction, 3d ed. Addison-Wesley, 1997. The third edition of this best-seller adds new chapters on the World Wide Web, information visualization, and cooperative work and expands earlier work on development methodologies, evaluation techniques, and tools for building user interfaces.
Tognazzini, Bruce. Tog On Software Design. Addison-Wesley, 1995. A pivotal figure in computer design offers discerning, stimulating, argumentative, and amusing analysis for the lay reader and the computer professional. The work includes wide-ranging discussions of standards.
Tufte, Edward R. Envisioning Information. Graphics Press, 1990. One of the best books on graphic design, this volume catalogues instances of superb information design (with an emphasis on maps and cartography) and analyzes the concepts behind their implementation.
Tufte, Edward R. The Visual Display of Quantitative Information. Graphics Press, 1992. Tufte explores the presentation of statistical information in charts and graphs with apt graphical examples and elegantly interwoven text.
Tufte, Edward R. Visual Explanations: Images and Quantities, Evidence and Narrative. Graphics Press, 1997. The third volume in Tufte's series on information display focuses on data that changes over time. Tufte explores the depiction of action and cause and effect through such examples as the explosion of the space shuttle Challenger, magic tricks, and a cholera epidemic in 19th-century London.
The Open Group, 1997. CDE 2.1/Motif 2.1--Style Guide and Glossary.
The Open Group, 1997. CDE 2.1/Motif 2.1--Style Guide Reference.
The Open Group, 1997. CDE 2.1/Motif 2.1--Style Guide Certification Check List.
These titles can be ordered from the Open Group at http://www.opengroup.org/public/pubs/catalog/mo.htm.
Campione, Mary, and Kathy Walrath. The JFC Swing Tutorial: A Guide to Constructing GUIs. Addison-Wesley, 1999. This readable technical description of some difficult subjects includes material on layout managers, events, listeners, and container hierarchy.
Campione, Mary, et al. The Java Tutorial Continued: The Rest of the JDK. Addison-Wesley, 1998. The experts describe features added to the original core Java platform with many self-paced, hands-on examples. The book focuses on Java 2 APIs but also contains the information you need to use the JDK 1.1 versions of the APIs.
Chan, Patrick. The Java Developer's Almanac, 1999. Addison-Wesley, 1999. Organized to increase programming performance and speed, this book provides a quick but comprehensive reference to the JavaTM 2 Platform, Standard Edition, v. 1.2.
Eckstein, Robert, Mark Loy, and Dave Wood. Java Swing. O'Reilly & Associates, 1998. An excellent introduction to the Swing components, this book documents the Swing and Accessibility application programming interfaces. An especially useful chapter explains how to create a custom look and feel.
Geary, David M. Graphic Java 2: Mastering the JFC. Volume 2, Swing. Prentice Hall, 1998. This comprehensive volume describes the skills needed to build professional, cross-platform applications that take full advantage of the JFC. The volume includes chapters on drag and drop, graphics, colors and fonts, image manipulation, double buffering, sprite animation, and clipboard and data transfer.
Sun Microsystems, Inc. J2EE Platform Specification. Available: http://java.sun.com/j2ee/download.html#platformspec. This web site provides a way to download current information on the Java 2 Platform, Enterprise Edition, v. 1.3 (J2EE).
Sun Microsystems, Inc. Java 2 Platform, Standard Edition, Version 1.3 API Specification. Available: http://java.sun.com/j2se/1.3/docs/index.html#guide. This web site provides up-to-date technical documentation on the Java 2 API.
Sun Microsystems, Inc. Java Look and Feel Design Guidelines, 2d ed. Available: http://java.sun.com/products/jlf. This web site contains the HTML version of this book.
Sun Microsystems, Inc. The Java Tutorial: A Practical Guide for Programmers. Available: http://java.sun.com/docs/books/tutorial/index.html. This web site is divided into four trails: a trail covering the basics of the Java language and writing applets; a trail on constructing graphical user interfaces with the Swing classes and the JFC; specialized trails addressing such topics as internationalization, 2D graphics, and security; and trails available only online--including a discussion of drag and drop.
Topley, Kim. Core Java Foundation Classes. Prentice Hall Computer Books, 1998. Topley explains how to build basic Swing applications, with an emphasis on layout managers and basic graphics programming. The book also describes the creation of multiple document interface (MDI) applications.
Walker, Will. "The Multiplexing Look and Feel." Available: http://www.sun.com/access/articles/#articles. This article describes a special look and feel that provides a way to extend the features of a Swing GUI without having to create a new look and feel design. Walker describes an example application that can simultaneously provide audio output, Braille output, and the standard visual output of ordinary Swing applications.
Apple Computer, Inc. Mac OS 8 Human Interface Guidelines. Available: http://developer.apple.com/techpubs/mac/HIGOS8Guide/ thig-2.html. This web site offers a supplement to Macintosh Human Interface Guidelines.
McFarland, Alan, and Tom Dayton (with others). Design Guide for Multiplatform Graphical User Interfaces (LP-R13). Bellcore, 1995. (Available only from Bellcore. Call 800-521-2673 from US & Canada, +1-908-699-5800 from elsewhere.) This is an object-oriented style guide with extensive guidelines and a good explanation of object-oriented user interface style from the user's perspective.
Marcus, Aaron, Nick Smilonich, and Lynne Thompson. The Cross-GUI Handbook: For Multiplatform User Interface Design. Addison-Wesley, 1995. This source describes the graphical user interfaces of Microsoft Windows and Windows NT, OSF/Motif, NeXTSTEP, IBM OS/2, and Apple Macintosh. The text includes design recommendations for portability and migration and recommendations for handling contradictory or inadequate human interface guidelines.
Fernandes, Tony. Global Interface Design: A Guide to Designing International User Interfaces. AP Professional, 1995. Fernandes addresses developers of Internet software designed for a global market. He explains cultural differences, languages and their variations, taboos, aesthetics, ergonomic standards, and other issues designers must research and understand.
Guide to Macintosh Software Localization. Addison-Wesley, 1992. A thorough and thoughtful discussion of the internationalization and localization processes that should prove helpful for developers on any platform.
Kano, Nadine. Developing International Software for Windows 95 and Windows NT. Microsoft Press, 1993. Kano targets Microsoft's guidelines for creating international software to an audience with knowledge of Microsoft Windows coding techniques and C++. The work contains information on punctuation, sort orders, locale-specific code-page data, DBCS/Unicode mapping tables, and multilingual API functions and structures.
Luong, Tuoc V., James S.H. Lok, and Kevin Driscoll. Internationalization: Developing Software for Global Markets. John Wiley & Sons, 1995. The Borland internationalization team describes its procedures and methods with a focus on testing and quality assurance for translated software. This hands-on guide tells how to produce software that runs anywhere in the world without requiring expensive recompiling of source code.
Nielsen, Jakob, and Elisa M. Del Galdo, eds. International User Interfaces. John Wiley & Sons, 1996. This book discusses what user interfaces can and must do to become commercially viable in the global marketplace. Contributors discuss issues such as international usability engineering, cultural models, multiple-language documents, and multilingual machine translation.
O'Donnell, Sandra Martin. Programming for the World: A Guide to Internationalization. Prentice Hall, 1994. This theoretical handbook explains how to modify computer systems to accommodate the needs of international users. O'Donnell describes many linguistic and cultural conventions used throughout the world and discusses how to design with the flexibility needed for the global marketplace.
Uren, Emmanuel, Robert Howard, and Tiziana Perinotti. Software Internationalization and Localization: An Introduction. Van Nostrand Reinhold, 1993. This guide to software adaptation encourages developers to aim at producing localized software with the same capabilities as the original software while meeting local requirements and conventions.
Bergman, Eric, and Earl Johnson. "Towards Accessible Human Interaction." In Advances in Human-Computer Interaction, edited by Jakob Nielsen, vol. 5. Ablex Publishing, 1995. Available: http://www.sun.com/access/developers/updt.HCI.advance.html. This article discusses the relevance of accessibility to human interface designers and explores the process of designing for ranges of user capabilities. It provides design guidelines for accommodating physical disabilities such as repetitive strain injuries (RSI), low vision, blindness, and hearing impairment. It also contains an excellent list of additional sources on accessibility issues.
Dunn, Jeff. "Developing Accessible JFC Applications." Available: http://www.sun.com/access/developers/developing-accessible-apps. This article covers the specifics of accessibility in Swing classes, including an assistive technology primer, nuts-and-bolts information, and test cases.
Schwerdtfeger, Richard S. Making the GUI Talk. BYTE, 1991. Available: ftp://ftp.software.ibm.com/sns/sr-os2/sr2doc/ guitalk.txt. This speech deals with off-screen model technology and GUI screen readers.
Schwerdtfeger, Richard S. Special Needs Systems Guidelines. IBM Corporation, 1998. Available: http://www.austin.ibm.com/sns/access.html. This web site presents principles of accessibility, a checklist for software accessibility, and a list of references and resources. In addition, it provides discussions of accessibility for the web and for Java applications.
Sun Microsystems, Inc. Accessibility Quick Reference Guide. Available: http://www.sun.com/access/developers/access.quick.ref.html. This site defines accessibility, lists steps to check and double-check your product's accessibility, and offers tips for making applications more accessible.
Sun Microsystems, Inc. "Opening New Doors: Enabling Technologies." Available: http://www.sun.com/access. This web site includes a primer on the Java platform and accessibility and describes the support for assistive technologies now provided by the Swing components of the JFC.
Gulbransen, David, Kenrick Rawlings, and John December. Creating Web Applets With Java. Sams Publishing, 1996. An introduction to Java applets, this book addresses nonprogrammers who want to incorporate preprogrammed Java applets into web pages.
Hopson, K.C., Stephen E. Ingram, and Patrick Chan. Designing Professional Java Applets. Sams Publishing, 1996. An advanced reference to developing Java applets for business, science, and research.
0201725886P04062001
Click below for Index related to this title:
index.html