
Animate Your JList Selections #18
Chapter 2, Lists and Combos
|
87
HACK
H A C K
#18
Animate Your JList Selections
Hack #18
Fading in and catching the eye.
Not every GUI involves windows and mouse pointers, and the visual lan-
guage of a GUI can be very different depending on what is provided by the
environment. Typically, GUIs for things like console video games and set-
top boxes don’t use a mouse metaphor, so there’s no onscreen pointer that
the user is tracking. As a result, these systems often give the user more pro-
found feedback when they move around a list—highlights slide from one
item to another, selected items fade in while deselected items fade out, etc.—
so there’s something the eye can track. You can do the same thing in Swing,
with more cell-rendering hackery. You might not need it now, but it’ll be
handy if you ever design a kiosk with Swing.
One way to show a changed selection is to show a brief animation of the cell
selection. Instead of just being highlighted instantly, you fade the selected
cell from its unselected background and foreground colors to its selected
colors over the course of a short time (really short, like a half-second, so it
isn’t annoying).
To do this, you’ll need to create an animator thread that kicks off every time
the selection changes. This short-lived thread repeatedly updates a high-
light color and calls
repaint( ). The cell renderer can then use the updated ...