Java >
Guidelines Home Page >  Java Look and Feel Design Guidelines
  Previous Next Contents/Index/Search


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.

Who Should Use This Book

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  love and here .

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.

What Is in This Book

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.

  • 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 Java TM 2 SDK (software development kit) and the JFC, introduces the JFC components, discusses the concept of pluggable look and feel designs, and describes the currently available look and feel options.

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.

  • 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,” describes the Java look and feel theme mechanism, suggests ways to change colors and fonts, gives recommendations for layout and visual alignment of components, and provides standards for the capitalization of text in the interface.
  • Chapter 5, “Application Graphics,” discusses the use of color for individually designed graphical elements (as opposed to components that rely on the theme mechanism), including cross-platform colors, the creation of graphics that suit the Java look and feel, the design of button graphics and icons, and the use of badges in the design of button graphics.
  • Chapter 6, “Behavior,” tells how users of Java look and feel applications utilize the mouse and keyboard, provides guidelines regarding user input and human-computer interaction, and discusses drag-and-drop operations and text field navigation.

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.

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

Graphic Conventions

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

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

 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.

 CD-ROM Resources

Code samples and graphics for Java look and feel applications, also available on the book's companion CD-ROM.

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 internationalization, accessibility, 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 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: . 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.

Design for Specific Platforms

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


Three volumes address the needs of designers and related professionals who create 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.

These titles can be ordered from the Open Group at .


Object-Oriented Interface Design: IBM Common User Access Guidelines. Que Corp, 1992. Available: . 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: . 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: . 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: . This web site offers a supplement to Macintosh Human Interface Guidelines.

Microsoft Windows

Microsoft Windows User Experience. Microsoft Press, 1999. Available: . 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.

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

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: . 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: . 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: . This speech deals with off-screen model technology and GUI screen readers.

Schwerdtfeger, Richard S. Special Needs Systems Guidelines. IBM Corporation, 1998. Available: 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: . 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: . 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.

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 for developing Java applets for business, science, and research.

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
JavaOne Banner
Java 8 banner (182)