In the late 1990s, a GUI design pattern emerged for choosing multiple objects
from long lists. In GUI Design Essentials, Susan Weinschenk, Pamela Jamar,
and Sarah Yeo called this the Selection Summary pattern. In "A Dual Listbox
Selection Manager" by Steve Aube, it's also known as the Dual Listbox
Selection interface. In The Java Look and Feel Guidelines, Advanced Topics,
it is called the Add-and-Remove idiom.
The Add-and-Remove design pattern (shown in Figure 1) has many variations.
One common enhancement is to provide "Move Up" and "Move Down" buttons to
reorder the chosen list (see Figure 2). Sometimes the chosen list is
displayed as a table to show additional information.
My previous article ("GUI Design Patterns," JDJ, Vol. 9, issue 7) showed how
to optimize usability for this common GUI design pattern. This article shows
how to optimize performance for this de... (more)
Jakarta Struts provides a standard framework for Web applications, and
JavaServer Faces offers a component-based framework for user interfaces.
At the user interface, a common task in both frameworks is selecting items
from lists. Over the years, standard design patterns have been developed for
selection lists. For developers, the advantage of implementing these standard
patterns is that they are readily available and offer a familiar user
experience.
This article describes the following patterns:
One selection from few One selection from many Multiple selections from few
Extend... (more)
A previous article compared Jakarta Struts and JavaServer Faces
implementations of five simple design patterns for list selection. (JDJ, Vol.
11, Issue 3).
Long lists and ordered selections require a more complex design pattern. This
pattern displays available items in one list and chosen items in another so
the user's choices are always visible and easily modified.
This design pattern is commonly called a Dual List or Dual Listbox selector.
It is also known as the Selection Summary or List Builder pattern. In the
Java Look and Feel Design Guidelines, it's called the Add-and-Remo... (more)
Long lists of data present a problem for GUI development. This occurs when
choosing records from large database tables or recipients from a long list of
e-mail addresses, or any time a subset of data must be chosen from a long
list or table.
Two issues arise when choosing from long lists of data. First, what is the
best GUI for long lists so that the users understand how to navigate and
manipulate their data? Second, if the list holds more than a few hundred
items, performance become an issue.
In this article, simple examples show how to optimize usability for this
common GUI d... (more)