| Java >
Guidelines Home Page > Java Look and Feel Design Guidelines >
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 Java TM 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 contains code samples for many figures in the book, and a repository of graphics.
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
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.
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.
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.
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.
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.
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 designing for usability and on 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 discussions of quality management and the meaning 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.
These titles can be ordered from the Open Group at
Object-Oriented Interface Design: IBM Common User Access Guidelines. Que Corp, 1992. Available:
http://www-3.ibm.com/ibm/easy/eou_ext.nsf/publish/586#143 . This book is out of print but available from most IBM branch offices. A small portion of the printed book is intertwined with a modest amount of more current material at the IBM web site cited above.
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, 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 version 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 Java TM 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:
here . 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:
link . 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:
link . This web site contains the HTML version of this book.
Sun Microsystems, Inc. The Java Tutorial: A Practical Guide for Programmers. Available:
http://docs.oracle.com/javase/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. 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 web site offers a supplement to Macintosh Human Interface Guidelines.
Microsoft Windows User Experience. Microsoft Press, 1999. Available:
http://www.msdn.microsoft.com/library/books/winguide/welcome.htm . The official book on Microsoft interface design contains specifications and principles for designers who would like to create effective interfaces. It contains numerous examples of design successes and failures. These guidelines are available in print and on the web site.
McFarland, Alan, and Tom Dayton (with others). Design Guide for Multiplatform Graphical User Interfaces (LP-R13). Bellcore, 1995. Available:
http://telecom-info.telcordia.com/site-cgi/ido/index.html . 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.
|Java Look and Feel Design Guidelines, second edition.
Copyright 2001. Sun Microsystems, Inc. All Rights Reserved.