/**
* Filter node by key.
*
* @param node the node
* @param key the key
*/
private void filterNodeByKey(DefaultMutableTreeNode node, String key){
Vector<DefaultMutableTreeNode> toDeleteVect= new Vector<DefaultMutableTreeNode>();
@SuppressWarnings("unchecked")
Enumeration<DefaultMutableTreeNode> e = node.breadthFirstEnumeration();
if(e != null){
while (e.hasMoreElements()){
DefaultMutableTreeNode actualElement = e.nextElement();
if (actualElement.isLeaf() == true && key.isEmpty() == false && actualElement.toString().toLowerCase().contains(key.toLowerCase()) == false) {
//--- immediate removal invalidates the enumeration ---
// actualElement.removeFromParent();
// --- remember for later removal ---
toDeleteVect.add(actualElement);
}
if(actualElement.isLeaf() == true && actualElement.toString().toLowerCase().contains(key.toLowerCase()) == true){
//--- (re)expand collapsed parent if search string matches ---
int level = actualElement.getLevel() -1;
StringBuilder sb = new StringBuilder();
sb.append(level -1).append(",");
String levelString = sb.toString();
if(expansionState.contains(levelString) == false){
levelString = sb.append(level).append(",").toString();
expansionState = expansionState.concat(levelString);
}
}
}
}
//--- delete nodes ---
for( int i=0; i < toDeleteVect.size(); i++){
toDeleteVect.get(i).removeFromParent();
}
}
ThreadInfoStorageTree.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:AgentWorkbench
作者:
评论列表
文章目录