public class FilteredTreeModel
extends java.lang.Object
implements javax.swing.tree.TreeModel
TreeModel. Nodes
may be associated with keywords that can be searched for hiding all nodes
that do not match the search term.| Modifier and Type | Class and Description |
|---|---|
static interface |
FilteredTreeModel.ParentProvider
Interface to retrieve parent nodes.
|
static class |
FilteredTreeModel.TreeNodeParentProvider
Implements
TreeNodeParentProvider for tree models that
use TreeNode objects such as DefaultTreeModel. |
| Constructor and Description |
|---|
FilteredTreeModel(javax.swing.tree.DefaultTreeModel model,
boolean ignoreCase)
Constructs a filtering tree model.
|
FilteredTreeModel(javax.swing.tree.TreeModel model,
boolean ignoreCase,
FilteredTreeModel.ParentProvider parentProvider)
Constructs a filtering tree model.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addSearchKey(java.lang.Object node,
java.lang.String key)
Associates
node with a search key. |
void |
addTreeModelListener(javax.swing.event.TreeModelListener l) |
void |
clearFilter()
Makes all nodes in the tree visible.
|
void |
filterByText(java.lang.String text)
Hides nodes from the tree that do not match
text. |
java.lang.Object |
getChild(java.lang.Object parent,
int index) |
int |
getChildCount(java.lang.Object parent) |
int |
getIndexOfChild(java.lang.Object parent,
java.lang.Object child) |
protected java.util.SortedMap<java.lang.String,java.util.List<java.lang.Object>> |
getMatches(java.lang.String text) |
javax.swing.tree.TreeModel |
getModel()
Returns the underlying data model.
|
java.lang.Object |
getRoot() |
boolean |
isLeaf(java.lang.Object node) |
boolean |
isVisible(java.lang.Object node) |
void |
reload() |
void |
removeSearchKey(java.lang.Object node,
java.lang.String key) |
void |
removeTreeModelListener(javax.swing.event.TreeModelListener l) |
void |
reset()
Sets all nodes visible.
|
void |
setModel(javax.swing.tree.DefaultTreeModel model)
Sets the underlying data model.
|
void |
setModel(javax.swing.tree.TreeModel model,
FilteredTreeModel.ParentProvider parentProvider)
Sets the underlying data model.
|
void |
valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue) |
public FilteredTreeModel(javax.swing.tree.DefaultTreeModel model,
boolean ignoreCase)
model - the underlying data modelignoreCase - if true, filtering is case insensitivepublic FilteredTreeModel(javax.swing.tree.TreeModel model,
boolean ignoreCase,
FilteredTreeModel.ParentProvider parentProvider)
model - the underlying data modelignoreCase - if true, filtering is case insensitiveparentProvider - used to retrieve parents of nodespublic void addSearchKey(java.lang.Object node,
java.lang.String key)
node with a search key.public void addTreeModelListener(javax.swing.event.TreeModelListener l)
addTreeModelListener in interface javax.swing.tree.TreeModelpublic void clearFilter()
protected java.util.SortedMap<java.lang.String,java.util.List<java.lang.Object>> getMatches(java.lang.String text)
public void filterByText(java.lang.String text)
text.text - search textpublic java.lang.Object getChild(java.lang.Object parent,
int index)
getChild in interface javax.swing.tree.TreeModelpublic int getChildCount(java.lang.Object parent)
getChildCount in interface javax.swing.tree.TreeModelpublic int getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
getIndexOfChild in interface javax.swing.tree.TreeModelpublic javax.swing.tree.TreeModel getModel()
public java.lang.Object getRoot()
getRoot in interface javax.swing.tree.TreeModelpublic boolean isLeaf(java.lang.Object node)
isLeaf in interface javax.swing.tree.TreeModelpublic boolean isVisible(java.lang.Object node)
public void reload()
public void removeSearchKey(java.lang.Object node,
java.lang.String key)
public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
removeTreeModelListener in interface javax.swing.tree.TreeModelpublic void setModel(javax.swing.tree.DefaultTreeModel model)
model - data modelpublic void setModel(javax.swing.tree.TreeModel model,
FilteredTreeModel.ParentProvider parentProvider)
model - data modelparentProvider - used to retrieve parents of nodespublic void reset()
public void valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue)
valueForPathChanged in interface javax.swing.tree.TreeModel