An Explorer view may be any visual component;
it need not implement any particular interface, etc. However, the
convention is that it keep track of the Explorer manager that controls
it; this manager should be located when it is
added
to a parent component, by calling
ExplorerManager.find(...)
,
and then use that manager's properties to control it; the view should
also stop consulting the manager when the component is
removed
from its parent.
The view will want to use a property change listener to keep track of what the manager expects it to do; possibly it could also veto certain changes.
Other than these requirements, nearly any visual representation is possible, and so the API does not specify any more than this.
TreeView
may be used to create a specialized view based on the normal visual
metaphor of an expandable tree of nodes being explored. Many
customizations to it may be done by modifying the
model
it uses to determine which nodes are to be displayed.
Or, one of its implementations may be fine-tuned:
BeanTreeView
provides the usual Explorer view;
ContextTreeView
provides something similar but only displaying non-leaf nodes (which
may be useful as one panel of a multi-paned UI setup, also including a
list view pane).