java.sun.com and JLF home page   Previous Next Contents/Index/Search

Preface


Java Look and Feel Design Guidelines provides essential information for anyone involved in creating cross-platform applications and applets in the JavaTM programming language. In particular, this book offers design guidelines for software that uses the JavaTM Foundation Classes (JFC) together with the Java look and feel.

 

Who Should Use This Book

Although the human interface designer and the software developer might well be the same person, the two jobs require different tasks, skills, and tools. Primarily, this book addresses the designer who chooses the interface components, lays them out in a set of views, 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, visit the Java Technology and Swing Connection web sites at http://java.sun.com and http://java.sun.com/products/jfc.

The guidelines provided in this book are appropriate for 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.

 

What Is in This Book

Java Look and Feel Design Guidelines includes the following chapters:

Chapter 1, "The Java Look and Feel," introduces key design concepts and visual elements underlying the Java look and feel and offers a quick visual tour of an application and an applet designed with the JFC components and the Java look and feel.

Chapter 2, "The Java Foundation Classes,"provides an overview of the JavaTM Development Kit and the Java Foundation Classes, introduces the JFC components, discusses the concept of pluggable look and feel designs, and describes the currently available look and feel options.

Chapter 3, "Design Considerations," discusses some of the fundamental challenges of designing Java look and feel applications and applets and of providing for accessibility, internationalization, and localization.

Chapter 4, "Visual Design," suggests ways to use the Java look and feel theme mechanism to change colors and fonts, provides guidelines for the capitalization of text in the interface, and gives recommendations for layout and visual alignment.

Chapter 5, "Application Graphics," discusses the use of cross-platform color, the creation of graphics that suit the Java look and feel, and the use of graphics to enhance corporate and product identity.

Chapter 6, "Behavior," tells how users of Java look and feel applications utilize the mouse, keyboard, and screen and provides guidelines regarding user input and human-computer interaction, including drag-and-drop operations.

Chapter 7, "Windows, Panes, and Frames," discusses and makes recommendations for the use of primary, secondary, plain, and utility windows as well as panels, scroll panes, tabbed panes, split panes, and internal frames.

Chapter 8, "Dialog Boxes," describes dialog boxes and alert boxes, sets standards for dialog box design, and provides examples of typical dialog boxes in Java look and feel applications.

Chapter 9, "Menus and Toolbars," defines and gives guidelines for the use of drop-down menus, contextual menus, toolbars, and tool tips and provides examples of typical menus in Java look and feel applications.

Chapter 10, "Basic Controls," covers the use of controls such as command buttons, toggle buttons, checkboxes, radio buttons, sliders, and combo boxes; it also describes progress bars and provides suggestions for their use.

Chapter 11, "Text Components," explains and makes recommendations for the use of the JFC components that control the display and editing of text: labels, text fields, text areas, and editor panes.

Chapter 12, "Lists, Tables, and Trees," discusses and makes recommendations for the use of lists, tables, and tree views.

Appendix A, "Keyboard Navigation, Activation, and Selection," contains tables that specify keyboard operations for the components of the Java Foundation Classes.

Glossary defines important words and phrases found in this book. Glossary terms appear in boldface throughout the book.

 

What Is Not in This Book

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 testing.

For authoritative explications of human interface design principles and the design process, see Macintosh Human Interface Guidelines.

For the classic book on usability testing, see Jakob Nielsen's Usability Engineering.

For details on both of these valuable resources, see Related Books and Web Sites.

 

Graphic Conventions

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

Requirements for the consistent appearance and compatible behavior of Java look and feel applications.

Java look and feel standards promote flexibility and ease of use in cross-platform applications and 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 user testing to validate your judgments.

 

Cross-Platform Delivery Guidelines

Recommendations for dealing with colors, fonts, keyboard operations, and other issues that arise when you want to deliver your application to a variety of computers running a range of operating systems.

 

Internationalization Guidelines

Advice for creating applications that can be adapted to the global marketplace.

 

Implementation Tips

Technical information and useful tips of particular interest to the programmers who are implementing your application design.

 

 

 

Related Books and Web Sites

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 accessibility, internationalization, and applet design.

 
Design Principles

The resources in this section provide information on the fundamental concepts underlying human-computer interaction and interface 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. 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.

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, 1995. 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 classic covers international user interfaces (including gestural interfaces), international usability engineering, guidelines for internationalization, resource separation, and interfaces for more than one locale.

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 Interface. Addison-Wesley, 1992. Based on a human interface column that Tognazzini wrote for Apple developers, this book delves into the pivotal challenges of user interface design, including the difficulties inherent in multimedia software.

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.

 
Design for Specific Platforms

The resources in this section cover application design for the CDE, IBM, Java, Macintosh, and Microsoft Windows platforms.


CDE

Three volumes address the needs of designers and related professionals creating applications using CDE and Motif 2.1.

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.

They can be ordered from the Open Group at
http://www.opengroup.org/public/pubs/catalog/mo.htm.


IBM

Object-Oriented Interface Design: IBM Common User Access Guidelines. Que Corp, 1992. Available: http://www.ibm.com/ibm/hci/guidelines/design/ui_design.html. This book is out of print but available from most or all IBM branch offices. A small portion of the printed book is intertwined with a modest amount of more current material at this IBM web site.


Java

Campione, Mary, and Kathy Walrath. The Java Tutorial: Object-Oriented Programming for the Internet, 2d ed. Addison-Wesley, 1998. Full of examples, this task-oriented book introduces you to fundamental Java concepts and applications. Walrath and Campione describe the Java language, applet construction, and the fundamental Java classes and cover the use of multiple threads and networking features.

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 Java Foundation Classes. 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. Java 2 Platform API Specification. Available:
http://java.sun.com/products/jdk/1.2/docs/api/overview-summary.html. This web site provides up-to-date technical documentation on the Java 2 API.

Sun Microsystems, Inc. Java Look and Feel Design Guidelines. Available: http://java.sun.com/products/jlf. This web site contains an 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 getting started trail for those new to the Java language; a trail introducing the Java language with sections on writing applets, the essential Java classes, creating a GUI, and custom networking; a specialized trail addressing such topics as internationalization, 2D graphics, and security; and a trail providing a comprehensive example.

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://java.sun.com/products/jfc/tsc/archive/archive.html. 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.


Macintosh

Apple Computer, Inc. Macintosh Human Interface Guidelines. Addison-Wesley, 1992. This volume is the official word on Macintosh user interface principles. It includes a superb bibliography with titles on animation, cognitive psychology, color, environmental design, graphic and information design, human-computer design and interaction, language, accessibility, visual thinking, and internationalization.

Apple Computer, Inc. Mac OS 8 Human Interface Guidelines. Available: http://developer.apple.com/techpubs/mac/HIGOS8Guide/thig-2.html. This site offers a supplement to Macintosh Human Interface Guidelines.


Microsoft Windows

Windows Interface Guidelines for Software Design. Microsoft Press, 1995. Available: http://msdn.microsoft.com/library/. The official book on Microsoft interface design contains specifications and guidelines for designers who would like to enhance the usability of their programs. These guidelines are available in print, and a modest portion of them is on the World Wide Web. You can download an addendum to the book from
http://msdn.microsoft.com/developer/userexperience/winuiguide.asp.

 
Design for Multiple Platforms

The books in this section discuss the complex issues that arise when designing software that runs on many platforms.

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 guidelines for portability and migration and recommendations for handling contradictory or inadequate human interface guidelines.

 
Design for Internationalization

The books in this section describe software design for the global marketplace.

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.

 
Design for Accessibility

These resources explore how to design software that supports all users, including those with physical and cognitive limitations.

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/tech/access/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.

Schwerdtfeger, Richard S. IBM Guidelines for Writing Accessible Applications Using 100% Pure Java. 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.

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.

Sun Microsystems, Inc. Accessibility Quick Reference Guide. Available: http://www.sun.com/tech/access/access.quick.ref.html. This site defines accessibility, lists steps to check and double-check your product for accessibility, and offers tips for making applications more accessible.

Sun Microsystems, Inc. "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 Java Foundation Classes.

 
Design for Applets

These books provide a range of information on designing applets.

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.




java.sun.com  :  Design Guidelines Previous  |  Next  |  Contents  |  Index  |  Search

Copyright 1999 Sun Microsystems, Inc. All Rights Reserved.