Handling Selections
The JList
class in
Swing depends on a second model, this one to monitor the elements that
have been selected by the user. As with the list data model, the
programmer is given many places in which standard behavior can be
altered or replaced when dealing with selections. Swing uses a simple
interface for models that handle list selections (ListSelectionModel
) and provides a default
implementation (DefaultList
-SelectionModel
).
The ListSelectionModel Interface
The ListSelectionModel
interface outlines the
methods necessary for managing list selections. Selections are
represented by a series of ranges, where each range is defined by its
endpoints. For example, if the elements One, Two, Three, Six, Seven,
and Nine were selected in the opening example of the chapter, the list
selection model would contain three entries that specified the ranges
{1,3}, {6,7}, and {9,9}. All selection indices are zero-based, and the
ranges are closed, meaning both endpoint indices are included within
the selection. If only one element is present in a range, such as with
Nine, both endpoints are identical.
Properties
Table 7-5 shows
the properties of the ListSelectionModel
interface. The first
four properties of the list selection model can be used to retrieve
various indices that are currently selected in the list. The
anchorSelectionIndex
and leadSelectionIndex
properties represent
the anchor and lead indices of the most recent range of selections,
as illustrated in Figure
7-2. The ...
Get Java Swing, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.