📄 e1027. converting a node in a jtree component to a treepath.txt
字号:
// If expanded, return only paths of nodes that are expanded.
public TreePath[] getPaths(JTree tree, boolean expanded) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
// Create array to hold the treepaths
List list = new ArrayList();
// Traverse tree from root adding treepaths for all nodes to list
getPaths(tree, new TreePath(root), expanded, list);
// Convert list to array
return (TreePath[])list.toArray(new TreePath[list.size()]);
}
public void getPaths(JTree tree, TreePath parent, boolean expanded, List list) {
// Return if node is not expanded
if (expanded && !tree.isVisible(parent)) {
return;
}
// Add node to list
list.add(parent);
// Create paths for all children
TreeNode node = (TreeNode)parent.getLastPathComponent();
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
TreePath path = parent.pathByAddingChild(n);
getPaths(tree, path, expanded, list);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -