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
to a parent component, by calling
and then use that manager's properties to control it; the view should
also stop consulting the manager when the component is
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.
TreeViewmay 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:
BeanTreeViewprovides the usual Explorer view;
ContextTreeViewprovides 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).