Home > Store

Java  Look and Feel Design Guidelines: Advanced Topics

Register your product to gain access to bonus material or receive a coupon.

Java Look and Feel Design Guidelines: Advanced Topics

Premium Website

  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2002
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-201-77582-4
  • ISBN-13: 978-0-201-77582-2

Java Look and Feel Design Guidelines Advanced Topics provides advanced design guidelines for user interfaces based on the Java Foundation Classes (JFC) with the Java look and feel. This book augments the award-winning Java Look and Feel Design Guidelines, 2nd ed.

Java Look and Feel Design Guidelines, Advanced Topics describes how to:

  • Choose the right type of window for each user task
  • Organize menus logically, especially in applications with multiple windows
  • Enable users to view, search, and work with large sets of objects
  • Make your application easier to learn by reusing patterns of JFC components
  • Make your application seem faster to users even when you cannot increase its actual speed
  • Design wizards that are efficient for new and experienced users
  • Display alarms in applications that manage or monitor systems, such as networks or large computer systems

Created by a team of user interface experts at Sun Microsystems, Inc., this timely book provides many useful guidelines for improving consistency and efficiency in applications that use the Java look and feel. By following these guidelines, you can create user interfaces with the flexibility, usability, and efficiency you need.


Sample Content

Online Sample Chapter

Java" Look and Feel Design Guidelines: Menus

Table of Contents



1. Introduction.

Logical Organization.





2. Windows.

Windows, Objects, and Properties.

Overview of Window Types.

Window Types for Objects, Properties, and Actions.

Primary Windows.

Title Bars in Primary Windows.

Toolbars in Primary Windows.

Status Bars in Primary Windows.

Property Windows.

Property Window Characteristics.

Choosing the Correct Property Window Characteristics.

Dedicated and Non-Dedicated Property Windows.

Inspecting and Non-Inspecting Property Windows.

Behavior and Layout of Property Windows.

Action Windows.

Title Text in Action Windows.

Command Buttons in Action Windows.

Window Titles for Identically Named Objects and Views.

Window Titles for Identically Named Objects.

Window Titles for Multiple Views of the Same Object.

Setting the State of Windows and Objects.

Positioning Secondary Windows.

Restoring the State of Property Windows.

Alerting Users After an Object's State Changes.

Multiple Document Interfaces.

3. Menus.

Menu Elements.

Keyboard Shortcuts and Mnemonics for Menu Items.

Available and Unavailable Items.

Additional Conventions for Menu Items.

Common Menus.

Typical File Menu.

New Item.

Open Item.

Close Item.

Print Item.

Preferences Item.

File Properties Item.

Most Recently Used (MRU) Menu List.

Exit Item.

Typical Edit Menu.

Updating Labels of Menu Items.

Paste Special Item.

Properties Item.

Typical View Menu.

Typical Help Menu.

Additional Menus.

Object Menus.

Object Menus and the Action Menu.

Beyond Object Menus and the Action Menu.

Contextual Menus.

Window Management and the File Menu.

When Window Reuse Is the Default.

When Opening a New Window Is the Default.

4. Behavior.


Modal Secondary Windows.

Modes Set From Tool Palettes.

Application-Wide Modes.

Selecting Multiple Objects.

Filtering and Searching a Set of Objects.

Complex Filtering and Searching.

Simple Filtering and Searching.

Stopping Searches and Filter Operations.

Tool Tips.

5. Idioms.

Overview of Idioms.

Idioms for Selecting and Editing in Tables.

Selection Models and Editing Models for Tables.

Using Row Selection Models.

Editing Row-Selection Tables.

Using Cell Selection Models.

Editing Cell-Selection Tables.

Idioms for Arranging a Table.

Table Appearance.

Table Command Placement.

Column Reordering and Column Resizing.

Row Sorting.

Automatic Row Sorting.

Tree Table Idiom.

Idioms for Text Fields and Lists.

Browse Idiom.

Key-Search Idiom.

Add-and-Remove Idiom.

Container-and-Contents Idiom.

6. Responsiveness.

Characteristics of Responsive Applications.

Problems of Unresponsive Applications.

Responsiveness as Part of Performance.

Computational Performance.


Perceived Performance, or Responsiveness.

Determining Acceptable Response Delays.

Measuring Response Delays.

Setting Benchmarks for Response Delays.

Tools for Measuring Response Delays.

Responding to User Requests.

Providing Operational Feedback.

Deciding Whether to Provide Feedback.

Types of Visual Feedback.

Providing the Correct Type of Visual Feedback.

Letting Users Stop Commands in Progress.


7. Wizards.

Fundamentals of Wizards.

Standalone Wizards and Embedded Wizards.

Typical Uses of Wizards.

Deciding Whether You Need a Wizard.

Providing Alternatives to Wizards.

Types of Wizard Pages.

User-Input Pages.

Overview Page.

Requirements Page.

Confirmation Page.

Progress Pages.

Summary Page.

Designing Wizard Pages.

Designing the Title Bar.

Designing the Bottom Pane.

Designing the Right Pane.


Main Instructions.

User-Input Areas.

Additional Instructions.

Navigation Instructions.

Designing the Left Pane.

Deciding What to Display in the Left Pane.

Left Pane With a List of Steps.

Left Pane With Steps That Branch or Loop.

Left Pane With Help Text.

Left Pane With Steps and Help Text.

Left Pane With a Graphic.

Designing Wizard Behavior.

Delivering and Starting Wizards.

Supporting a User's Entire Task.

Positioning and Sizing Wizards.

Checking Wizard Dependencies and User Input.

Providing Operational Feedback in Wizards.

Alerting Users in Wizards.

Designing Installation Wizards.

Choosing a Location for a Wizard's Code.

Helping Users Decide Whether to Install.

Tasks That Installation Wizards Should Handle.

8. Events and Alarms.

Alarm Conditions.

Levels of Severity.

Alarm Status.

Logging Events.

Displaying Alarm Views.

Alarm Graphics.

Monitored-Entities View.

Detailed Alarm View.

Index. 0201775824T10162001


Java Look and Feel Design Guidelines: Advanced Topics provides guidelines for anyone designing user interfaces for applications written in the Java programming language. In particular, this book offers design guidelines for applications that use the Java look and feel. This book supplements Java Look and Feel Design Guidelines, 2d ed. For details on that book, see "Related Books" on page 4.

Although some topics in Java Look and Feel Design Guidelines: Advanced Topics apply only to certain types of applications, most topics apply to all applications that use the Java look and feel.

Who Should Use This Book

Primarily, this book addresses the designer who chooses an application's user-interface elements, lays them out in a set of components, and designs the user interaction model for an application. This book should also prove useful for software developers, technical writers, graphic artists, production and marketing specialists, and testers who help create applications that use the Java look and feel.

Java Look and Feel Design Guidelines: Advanced Topics focuses on design issues and human-computer interaction in the context of the Java look and feel. For information about technical aspects of the Java Foundation Classes (JFC), visit the JFC and Swing Connection web sites:

The guidelines in this book are appropriate for GUI applications that run on personal computers and network computers. These guidelines are not intended for software that runs on consumer electronic devices, such as wireless telephones or personal digital assistants (PDAs).

How to Use This Book

This book is intended to be read in its entirety or to be consulted as a reference on particular topics. The information in this book is easier to understand if you first read Java Look and Feel Design Guidelines, 2d ed. If you read only particular topics in this book, you should also see any corresponding topics in that book.

This book assumes that you are familiar with the terms and concepts in Java Look and Feel Design Guidelines, 2d ed., which is available in printed form at bookstores and as hypertext at the following web address:http://java.sun.com/products/jlf.

In addition, this book assumes that you are using the default Java look and feel theme, as described in Chapter 4 of Java Look and Feel Design Guidelines, 2d ed.

What Is in This Book

This book contains two main parts -- "General Topics" and "Special Topics."Part One, "General Topics," consists of chapters whose user interface guidelines apply to most applications.

Chapter 1, "Introduction," explains why a consistent look and feel is important in applications and describes characteristics of well-designed applications.

Chapter 2, "Windows," defines user-interface objects and then describes various types of windows. In addition, the chapter describes how to choose the right window type, design window elements, set the state of windows, and handle multiple windows.

Chapter 3, "Menus," provides guidelines for designing menu elements, common menus (such as File, Edit, and Help), and contextual menus. The chapter also provides guidelines for assigning mnemonics and keyboard shortcuts to menu items.

Chapter 4, "Behavior," discusses modes of user interaction, multiple selection, filtering, searching, and tool tips.

Chapter 5, "Idioms," describes how to use sets of JFC components to achieve a standardized appearance and behavior. In particular, the chapter discusses idioms for tables, text fields, lists, and hierarchies of user-interface objects.

Chapter 6, "Responsiveness," discusses characteristics of responsive applications, describes how responsiveness relates to performance and to response delay, explains how to measure response delay, and describes ways to improve responsiveness and provide operational feedback to users.Part Two, "Special Topics," consists of chapters whose guidelines apply only to applications that include wizards or alarms.

Chapter 7, "Wizards," introduces wizards and then describes how to decide whether your users need a wizard, how to design the layout and behavior of wizards, and what other factors to consider when designing wizards.

Chapter 8, "Events and Alarms," defines the terms "event" and "alarm" and then provides information on how to display alarm views (representations of alarms) and how to manipulate alarm views (for example, by sorting them at a user's request).

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 information about task analysis--an essential concept in user interface design. For resources on these topics, see "Related Books" on page 4 and "Related Books and Web Sites" in Java Look and Feel Design Guidelines, 2d ed.

Many of this book's guidelines can be applied to applications that use the Java look and feel to display text in any language. However, the usability of the book's guidelines and examples has been tested only with languages in which users read left to right. If you are designing for users who read right to left, use your judgment to decide whether this book's guidelines regarding layout are appropriate for your application.

Related Books

The preface to Java Look and Feel Design Guidelines, 2d ed., cites many references on topics such as fundamental principles of human interface design, design issues for specific (or multiple) platforms, and issues relating to internationalization and accessibility. This section does not repeat those references; instead, it lists only books to which this book refers.

Sun Microsystems, Inc. Java Look and Feel Design Guidelines, 2d ed., Addison-Wesley, 2001. This book provides essential information for anyone involved in creating cross-platform GUI (graphical user interface) applications and applets in the Java programming language. In particular, the book offers design guidelines for software that uses the Java look and feel.

Hackos, JoAnn T., and Janice C. Redish. User and Task Analysis for Interface Design. John Wiley & Sons, Inc., 1998. This book explains how to observe and interview users to gather the information you need to design your application.

Johnson, Jeff. GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers. Morgan Kaufman, 2000. This book 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 harmony of look and feel.

Wilson, Steve, and Jeff Kesselman. Java Platform Performance: Strategies and Tactics. Addison-Wesley, 2000. Intended to help software developers write high-performance software for the Java platform, this book describes the various qualities known as performance and describes how to attain and measure them.



Symbols... ellipses for menu items, 35
Aacknowledged, alarm status value, 149
Action menus, 46
action windows, 9, 22-26, 157

command buttons, 24
ellipsis in, 23
title text, 23
active alarms, 149
Add-and-Remove idiom, 86-90
button graphics, 89
chosen list, 87
commands in, 88
layout, 89
mnemonics, 88
original list, 87
additional instructions in wizards, 130
additional menus, 47
alarm conditions, 148
alarm graphics, 150
badge, as a, 151
levels of severity, 151
position, 152
size, 152
symbol, as a, 151
alarm status, 149
alarm views, 150-156
context-sensitive help, 153
as events, 147
levels of severity, 148
severity of, 147
status values, 149
alarms and events, 147-156
alert boxes, 9
See also dialog boxes
in wizards, 144
alerting users in wizards, 140, 143
alerting users to object state changes, 30
aligning elements for wizards, 121
alternatives to wizards, 115
appearance of tables, 75
characteristics of well-designed, 3
efficiency, 4
logical organization in, 3
predictability, 4
responsiveness, 4
scalability, 4
application-wide modes, 57
automatic row sorting, 82
available menu items, 34
BBack button in wizards, 125
basic event, defined, 147
behavior, 55-63
designing for wizards, 138-144
modes, 55-57
behavior of property windows, 18-22
behavioral characteristics of property windows, 12
benchmarks for response delays, 97
bottom pane in wizards, 124-127
horizontal separator, 124
navigation buttons, 124
branching in steps, 134
Browse idiom, 84
mnemonic, 85
button graphics in Add-and-Remove idioms, 89
CCancel button in wizards, 125
capitalization in menus, 32
cell alignment in tables, 75
cell selection model, See cell-selection tables
cell-selection tables, 72-74
commands for, 73
editing, 74
centering in column headers, 76
characteristics of property windows, 15
characteristics of responsiveness, 93
checking user input for errors, 141
property window types, 14
window types, 9
chosen list, in Add-and-Remove idiom, 87
Close button
in inspecting property windows, 22
in property windows, 21
in wizards, 125
Close item, File menu, 40
closed, alarm status value, 149
collapsed container, 92
column headers, centering, 76
column reordering idiom, 80
column resizing idiom, 80
column sort indicator, 80
column width in tables, 76
command buttons, 22
for non-inspecting property windows, 19
in action windows, 24
in inspecting property windows, 22
in non-inspecting property windows, 19-21
command placement in tables, 77-79
commands for row-selection tables, 67
commands, stopping, 105
common menus, 36
complex filtering and searching, 59
complex procedures using wizards, 114
computational performance, 95
confirmation pages, 119
Container-and-Contents idiom, 90
collapsed, 92
expanded, 92
hierarchy of, 90
in a tree table, 83
context-sensitive help in alarm views, 153
contextual menus, 47-49
and drop-down menus, 47
guidelines, 48
menu items, 48
pointer positions, 48
control-click to select multiple objects, 58
conventions for menu items, 32-36
creating complex objects using wizards, 114
critical, alarm severity, 148
current primary window, 38
current window reuse, 53
Ddeciding to create a wizard, 114
dedicated property windows, 12, 16
defaults in wizard user-input areas, 129
delivering wizards, 138
dependencies when using wizards, 140
installation wizards, 144
wizard behavior, 138-144
wizard pages, 121
detailed alarm views, 150, 154
dialog boxes, 9
dimensions for a wizard, 139
dimming menu items, 35
display objects in separate windows, 52
displaying steps in wizards, 136
down, alarm severity, 148
dragging to select multiple objects, 58
drop-down arrows, appearance in tables, 77
drop-down menus, 36
duplicate window operation, 52
dynamic time management, 99
EEdit menu, 42
Paste Special item, 43
Properties item, 43
cell-selection tables, 74
row-selection tables, 69, 72
editing area, for tables, 69
editing models for tables, 66
efficiency in an application, 4
elements in menus, 31-36
ellipsis for menu items, 35
ellipsis in action windows, 23
embedded wizards, 113
positioning, 140
starting, 138
title text, 123
entering large amounts of data, 114
errors, checking user input for, 141
event log, 150
defined, 147
logging, 150
maximum response delays, 96
events and alarms, 147-156
Exit item, File menu, 42
expanded container, 92
external editing model
commands for row-selection tables, 70
for row-selection tables, 69-71
external resources, menu items for, 37
determining whether to provide, 100
operational, 99
providing correct visual, 104
types for operations of, 1 second or longer, 105
File menu, 37-42
Close item, 40
Exit item, 42
File Properties item, 41
Most Recently Used (MRU)list item, 41
New item, 38-39
Open item, 39
Preferences item, 41
Print item, 40
window management, 49-53
File Properties item, File menu, 41
file-chooser dialog box, 40
filtering, 58-62
complex, 59
list-based, 59
stopping, 61
Finish button in wizards, 125
fixed, alarm status value, 149
Ggolden mean in primary windows, 29
graphics for menu items, 36
graphics in alarms, 150
graphics in wizards, 136
dimensions, 137
related to steps, 137
resizing, 137
grid lines, in tables, 76
groups of menu items, 35
HHelp button in wizards, 125
Help menu, 45
help text in wizards, 134
left pane with steps, 135
hierarchical sort in tree tables, 83
hierarchy of containers, 90
current steps, 133
steps in wizards, 133
horizontal separator
bottom pane in wizards, 124
in wizard pages, 127
Iicon pane, monitored-entities view, 153
identically named objects and views, 26
identifying a wizard page, 128
idioms, 65-92
Add-and-Remove, 86
Browse, 84
Container-and-Contents, 90
defined, 65
for tables, 75-84
for text fields and lists, 84-90
Key Search, 85
viewing hierarchies, 90
inactive alarms, 149
indeterminate-progress bar, 102
See also progress bar
inspecting property windows, 12, 16, 22
Close button, 22
installation wizards, 138
designing, 144
tasks, 145
installing software using wizards, 113
instructions in wizards, 129
internal editing model, for row-selection tables, 71
commands, 72
KKey Search idiom, 85
keyboard focus in the right wizard pane, 135
keyboard shortcuts, 32-34
keyboard traversal order of wizard pages, 134
LLast button in wizards, 125
layout of Add-and-Remove idioms, 89
layout of property windows, 18-22
leaf node, in a tree table, 83
left pane in wizards, 132-137
contents, 132
graphics, 136
help text, 134
list of steps, 133
steps and help text, 135
steps that branch, 134
tabs, 136
levels of severity
alarm graphics, 151
in alarms, 148
list of steps in wizards, 133
displaying, 136
list-based filtering and searching, 59
lists, idioms for, 84-90
location for installation wizards, 144
logging events, 150


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership