This month's column continues the object-oriented design/GUI theme
from the July and September Java Toolbox columns
by looking at a widget that I use all the time: a wrapper around a
Collection capable of creating a visual proxy that
automatically changes its appearance. By examining the amount of
screen real estate available to it, the widget displays the
Collection as a combo box, a list, or a button that
pops up a frame containing the list when pressed. This sort of
dynamic adaptability is essential when implementing user interfaces
for object-oriented systems, since the context in which a
particular attribute will be displayed is often unknown at compile
time. (3,000 words)