实现JTree的一键展开和折叠所有节点
JTree控制起来比较繁琐,节点操作更是让人有点抓狂,跟C#相比麻烦了太多太多.每次操作都需要定位Path或者row,找了个简单的便捷写法封装方法了.
代码如下:
public void ecTreeTest(JTree tree) {
TreeNode root = (TreeNode) tree.getModel().getRoot();
expandTree(tree, new TreePath(root));
}
private void expandTree(JTree tree, TreePath parent) {
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);
expandTree(tree, path);
}
}
tree.expandPath(parent);
}
如上代码是展开树的所有节点,如果要折叠所有节点,只需把tree.expandPath(parent);改为tree.collapsePath(parent);即可。
请订阅本站 RSS feed 或 订阅到信箱 ,欢迎 Donate 或者 上面的广告内容 支持三十岁
本文链接:实现JTree的一键展开和折叠所有节点
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^
分享到: | |
没有评论