实现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的一键展开和折叠所有节点

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^


分享到:          
评论关闭