如何在 Java 中获取 JTree 中此节点的父节点?
比方说,我们想要一个节点的父节点,那么使用 getParent() 方法 -
node3.getFirstChild()
您还可以获取子节点的父节点。这里,“nine”是子节点 -
nine.getParent()
输出如下,在控制台中显示此节点的父节点 -
示例
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("Products"); DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Clothing (Product1 - P66778)"); DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Accessories (Product2 - P66779)"); DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("Home Decor (Product3 - P66780)"); DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Electronics (Product4 - P66781)"); node.add(node1); node.add(node2); node.add(node3); node.add(node4); DefaultMutableTreeNode one = new DefaultMutableTreeNode("Shirt"); DefaultMutableTreeNode two = new DefaultMutableTreeNode("T-shirt"); DefaultMutableTreeNode three = new DefaultMutableTreeNode("Hoodie"); DefaultMutableTreeNode four = new DefaultMutableTreeNode("Sunglasses"); DefaultMutableTreeNode five = new DefaultMutableTreeNode("Frames"); DefaultMutableTreeNode six = new DefaultMutableTreeNode("Belts"); DefaultMutableTreeNode seven = new DefaultMutableTreeNode("Showpieces & Figurines"); DefaultMutableTreeNode eight = new DefaultMutableTreeNode("Clocks"); DefaultMutableTreeNode nine = new DefaultMutableTreeNode("Wall Shelves"); DefaultMutableTreeNode ten = new DefaultMutableTreeNode("Mobile Accessories"); DefaultMutableTreeNode eleven = new DefaultMutableTreeNode("Smart Wearable Tech"); DefaultMutableTreeNode twelve = new DefaultMutableTreeNode("Health Care Applicances"); DefaultMutableTreeNode thirteen = new DefaultMutableTreeNode("Smart Home Automation"); node1.add(one); node1.add(two); node1.add(three); node2.add(four); node2.add(five); node2.add(six); node3.add(seven); node3.add(eight); node3.add(nine); node4.add(ten); node4.add(eleven); node4.add(twelve); node4.add(thirteen); JTree tree = new JTree(node); for (int i = 0; i < tree.getRowCount(); i++) { tree.expandRow(i); } tree.putClientProperty("JTree.lineStyle", "Angled"); System.out.println("Node 3 = "+node.getChildAt(2)); System.out.println("The last child of node 3 = "+node3.getLastChild()); System.out.println("Parent of node3 = "+node3.getParent()); System.out.println("Parent of child node nine = "+nine.getParent()); tree.setRowHeight(25); frame.add(tree); frame.setSize(600,450); frame.setVisible(true); } }
输出如下,显示此节点的父节点 -
输出
以下是我们的 JTree -
广告