Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java 从数据库填充JTree_Java_Mysql_Swing_Jtree - Fatal编程技术网

Java 从数据库填充JTree

Java 从数据库填充JTree,java,mysql,swing,jtree,Java,Mysql,Swing,Jtree,我有一个表,其中包含字段category\u id、category\u name和parent\u category\u id。parent\u category\u id的值来自category\u id,它表示父子关系。我没有任何固定的层次结构,它可能会上升到5级或10级,并且没有限制。。我需要一个如何实现这个JTree的代码来让它为我工作。我应该能够实现同样的菜单栏以及。。请帮我做这个 在谷歌搜索后我发现了这个 Map<String, Node> idToNode = new

我有一个表,其中包含字段category\u id、category\u name和parent\u category\u id。parent\u category\u id的值来自category\u id,它表示父子关系。我没有任何固定的层次结构,它可能会上升到5级或10级,并且没有限制。。我需要一个如何实现这个JTree的代码来让它为我工作。我应该能够实现同样的菜单栏以及。。请帮我做这个

在谷歌搜索后我发现了这个

Map<String, Node> idToNode = new HashMap<String, Node>();   

//create nodes from ResultSet   
while ( resultSet.next() ){       
    Node node = //create node -contains info, parent id, and its own id from ResultSet
    //put node into idToNode, keyed with its id   
}   

//link together   
Iterator<String> it = idToNode.keySet().iterator();   
Node root = null;   
while ( it.hasNext() ){          
    Node node = idToNode.get(it.next());       
    Node parent = idToNode.get(node.getParentId());   
    if ( parent == null ) {  
        root = node;  
    }else{  
       parent.addChild(node);  
    }  
}
Map idToNode=newhashmap();
//从ResultSet创建节点
while(resultSet.next()){
Node Node=//创建节点-包含信息、父id和ResultSet中的自己的id
//将节点放入idToNode,并键入其id
}   
//连结
迭代器it=idToNode.keySet().迭代器();
节点根=空;
而(it.hasNext()){
Node=idToNode.get(it.next());
Node parent=idToNode.get(Node.getParentId());
如果(父项==null){
根=节点;
}否则{
parent.addChild(节点);
}  
}
如何对这些注释说明进行编码?

用于创建节点

将id映射到节点——当您从数据库中获取节点时,将它们存储在映射中,并将id作为它们的键

拥有所有节点后,再次遍历它们并匹配它们的父ID,然后从映射中检索它们

假设您的树在数据库中的结构是健全的,那么它在这里也是健全的。拾取任意节点并沿着父链到根


使用根对象,您可以创建JTree:)

顺便说一句,我没有必要的代码。但是我觉得这里有一些工具,你需要把它完成:)每件事都可以根据需要查找。实际上,我没有时间编写代码。再过两个小时我就可以完成这部分了,你能帮我找到类似的东西吗?就连我也在谷歌上寻找帮助,但没有任何帮助。。谢谢每项活动都有明确的文件记录。我自己从来没有用过,但算法是可靠的。我无法想象这样一种情况(假设你是一个半途而废的开发人员,因为你的帖子很清楚,我认为这是一个安全的假设),你需要一个多小时才能完成这项工作。假设编译时间为2-3分钟,这看起来就像是10分钟的代码和20分钟的gotchyas调试。“我实际上没有时间编写这件事。”——太宝贵了!