繁体   English   中英

获取选定的节点jtree java

[英]get selected node jtree java

这是我的JTree

javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode(".Net Framework");
javax.swing.tree.DefaultMutableTreeNode treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Install");
javax.swing.tree.DefaultMutableTreeNode treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V1");
treeNode2.add(treeNode3);

treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V2");
treeNode2.add(treeNode3);

treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V3");
treeNode2.add(treeNode3);

treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V4");
treeNode2.add(treeNode3);
treeNode1.add(treeNode2);

treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Repair");
treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V1");
treeNode2.add(treeNode3);

treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V2");
treeNode2.add(treeNode3);

treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V3");
treeNode2.add(treeNode3);

treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("V4");
treeNode2.add(treeNode3);
treeNode1.add(treeNode2);

treeNode2 = new javax.swing.tree.DefaultMutableTreeNode("Removal");
treeNode3 = new javax.swing.tree.DefaultMutableTreeNode("Remove All");
treeNode2.add(treeNode3);
treeNode1.add(treeNode2);

jTree2.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1));
jScrollPane5.setViewportView(jTree2);

这是几乎可行的代码

DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree2.getLastSelectedPathComponent();

if (node == null) {
      //Nothing is selected.     
    return;
}

if (node.isLeaf()) {
    System.out.println(node);
} 

我希望能够做出if语句,说明安装节点中的叶节点V1,然后执行此操作。 只是不确定使用if(node.equals(thisleaf)))thisleaf对象应该等于什么。

声明一个领域

private DefaultMutableTreeNode v1Node;

将第三行更改为

this.v1Node = new DefaultMutableTreeNode("V1");

和使用

if (node.equals(this.v1Node))

旁注:您应该导入javax.swing.tree.DefaultMutableTreeNode并通过简单地使用DefaultMutableTreeNode而不是标准名称来使代码更具可读性。 您还应该选择有意义的变量名称,而不是treeNode1,jTree2等。这样的不良名称使代码很难理解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM