gpt4 book ai didi

java - 从给定的子节点获取父节点

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:17 25 4
gpt4 key购买 nike

 public class TabularMibTreeModel extends DefaultTreeModel {
public TabularMibTreeModel() {
super(new DefaultMutableTreeNode("Tablular MIBs"));
loadParentMibs();
}

@Override
public void reload() {
super.reload();
}

private void loadParentMibs() {
try {
ResultSet rs=Application.getDBHandler().executeQuery(SQLQueries.SELECT_TABULARMIBS_PARENT);

while(rs.next()){
String entryOID = rs.getString("mt_oid");
DefaultMutableTreeNode node=new DefaultMutableTreeNode(new MibNode(entryOID, "Parent"));
node.add(new DefaultMutableTreeNode(Boolean.TRUE));

((DefaultMutableTreeNode) getRoot()).insert(node,((DefaultMutableTreeNode)getRoot()).getChildCount())

node=null;

}

} catch (SQLException e) {
e.printStackTrace();
}
}

}

刚开始研究JTree。我创建了一个以 entryOID 作为父级的 jtree。实际上在后端 entryOID 有它的父级。我可以得到这个 parant 吗?如何通过避免 entryOID 来显示它?请帮忙?

最佳答案

 private void loadParentMibs throws SQLException () {

ResultSet resultSet = Application.getDBHandler()
.executeQuery(SQLQueries.SELECT_TABULARMIBS_PARENT);

DefaultMutableTreeNode root = (DefaultMutableTreeNode)getRoot();

Map<String, DefaultMutableTreeNode> parentsMap
= new HashMap<String, DefaultMutableTreeNode>();

while( resultSet.next() ) {
String parentId = resultSet.getString("mt_oid");

DefaultMutableTreeNode parent = parentsMap.get(parentId);
if ( parent == null ) {
parent = new DefaultMutableTreeNode( parentId );
parentsMap.add( parentId, parent );
root.add( parent );
}

// Are you sure, you want Boolean.TRUE leafs
// in number of parent coincindence?
// May be you want leafs to contains some
// additional info from resultSet entity?
DefaultMutableTreeNode leaf = new DefaultMutableTreeNode(Boolean.TRUE);
parent.add(leaf);
}

}

关于java - 从给定的子节点获取父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13303345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com