Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JTree搜索不搜索未展开的节点 public final DefaultMutableTreeNode findNode(String searchString){ java.util.List searchNodes=getSearchNodes((D_Java_Swing_Search_Jtree - Fatal编程技术网

JTree搜索不搜索未展开的节点 public final DefaultMutableTreeNode findNode(String searchString){ java.util.List searchNodes=getSearchNodes((D

JTree搜索不搜索未展开的节点 public final DefaultMutableTreeNode findNode(String searchString){ java.util.List searchNodes=getSearchNodes((D,java,swing,search,jtree,Java,Swing,Search,Jtree,JTree搜索不搜索未展开的节点 public final DefaultMutableTreeNode findNode(String searchString){ java.util.List searchNodes=getSearchNodes((DefaultMutableTreeNode)deviceTreeView.getModel().getRoot()); DefaultMutableTreeNode currentNode=(DefaultMutableTreeNode)dev

JTree搜索不搜索未展开的节点
public final DefaultMutableTreeNode findNode(String searchString){
java.util.List searchNodes=getSearchNodes((DefaultMutableTreeNode)deviceTreeView.getModel().getRoot());
DefaultMutableTreeNode currentNode=(DefaultMutableTreeNode)deviceTreeView.getLastSelectedPathComponent();
DefaultMutableTreeNode foundNode=null;
int bookmark=-1;
if(currentNode!=null){
对于(int index=0;index对于(int index=0;索引是父节点展开时动态生成的子节点吗?查看节点是如何创建的将非常有用-对于“静态”生成的树(深度4),发布的代码似乎运行良好。
public final DefaultMutableTreeNode findNode(String searchString) {

    java.util.List<DefaultMutableTreeNode> searchNodes = getSearchNodes((DefaultMutableTreeNode)deviceTreeView.getModel().getRoot());
    DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode)deviceTreeView.getLastSelectedPathComponent();

    DefaultMutableTreeNode foundNode = null;
    int bookmark = -1;

    if( currentNode != null ) {
        for(int index = 0; index < searchNodes.size(); index++) {
            if( searchNodes.get(index) == currentNode ) {
                bookmark = index;
                break;
            }
        }
    }

    for(int index = bookmark + 1; index < searchNodes.size(); index++) {    
        if(searchNodes.get(index).toString().toLowerCase().contains(searchString.toLowerCase())) {
            foundNode = searchNodes.get(index);
            break;
        }
    }

    if( foundNode == null ) {
        for(int index = 0; index <= bookmark; index++) {    
            if(searchNodes.get(index).toString().toLowerCase().contains(searchString.toLowerCase())) {
                foundNode = searchNodes.get(index);
                break;
            }
        }
    }
    return foundNode;
}   

private final java.util.List<DefaultMutableTreeNode> getSearchNodes(DefaultMutableTreeNode root) {
    java.util.List<DefaultMutableTreeNode> searchNodes = new java.util.ArrayList<DefaultMutableTreeNode>();

    java.util.Enumeration<?> e = root.preorderEnumeration();
    while(e.hasMoreElements()) {
        searchNodes.add((DefaultMutableTreeNode)e.nextElement());
    }
    return searchNodes;
}