如何用 Java 獲取 JTree 中節點的葉節點?
若要獲取節點的葉子,請使用 getLeafCount() 方法。
假設你想獲取整個樹的葉子,那麼請使用根節點,假設 “node” 是我們的根節點 −
node.getLeafCount()
現在,假設我們想獲取不是根節點的節點的葉子,因此設定 node。此處,node1 不是根節點 −
node1.getLeafCount()
以下是一個獲取節點葉子的示例 −
示例
package my;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
public class SwingDemo {
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("Demo");
DefaultMutableTreeNode node = new DefaultMutableTreeNode("Website");
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Videos");
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Tutorials");
DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("QA");
DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Tools");
node.add(node1);
node.add(node2);
node.add(node3);
node.add(node4);
DefaultMutableTreeNode one = new DefaultMutableTreeNode("PHP Videos");
DefaultMutableTreeNode two = new DefaultMutableTreeNode("HTML5 Videos");
DefaultMutableTreeNode three = new DefaultMutableTreeNode("Blockchain Videos");
DefaultMutableTreeNode four = new DefaultMutableTreeNode("Java");
DefaultMutableTreeNode five = new DefaultMutableTreeNode("DBMS");
DefaultMutableTreeNode six = new DefaultMutableTreeNode("CSS");
DefaultMutableTreeNode seven = new DefaultMutableTreeNode("MongoDB");
DefaultMutableTreeNode eight = new DefaultMutableTreeNode("Python QA");
DefaultMutableTreeNode nine = new DefaultMutableTreeNode("jQuery QA");
DefaultMutableTreeNode ten = new DefaultMutableTreeNode("Photo Editing Tool");
node1.add(one);
node1.add(two);
node1.add(three);
node2.add(four);
node2.add(five);
node2.add(six);
node2.add(seven);
node3.add(eight);
node3.add(nine);
node4.add(ten);
JTree tree = new JTree(node);
for (int i = 0; i < tree.getRowCount(); i++) {
tree.expandRow(i);
}
tree.putClientProperty("JTree.lineStyle", "Angled");
System.out.println("Number of children of node1 (Videos) = " + node1.getChildCount());
System.out.println("Number of children of node2 (Tutorials) = " + node2.getChildCount());
System.out.println("Number of children of node3 (QA) = " + node3.getChildCount());
System.out.println("Number of children of node4 (Tools) = " + node4.getChildCount());
System.out.println("Depth of Tree = " + node.getDepth());
System.out.println("Count of Tree Leaves(root node) = " + node.getLeafCount());
System.out.println("Count of Tree Leaves(node1) = " + node1.getLeafCount());
System.out.println("Count of Tree Leaves(node2) = " + node2.getLeafCount());
System.out.println("Count of Tree Leaves(node3) = " + node3.getLeafCount());
System.out.println("Count of Tree Leaves(node3) = " + node4.getLeafCount());
tree.setRowHeight(25);
frame.add(tree);
frame.setSize(600,450);
frame.setVisible(true);
}
}輸出

以下是我們的 JTree −

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP