繁体   English   中英

文件夹在jtree中排序

[英]folder sort in jtree

有没有一种方法可以对已经创建的仅具有根(DefaultMutableTreeNode)的树进行排序? 它具有随机顺序的文件夹和文件(带有等级)。 是否可以按字母顺序在文件顶部显示文件夹?

您可以使用下面的递归方法来实现,

public static DefaultMutableTreeNode sortTree(DefaultMutableTreeNode root) {
    {
        for (int i = 0; i < root.getChildCount() - 1; i++) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) root
                    .getChildAt(i);
            String nt = node.getUserObject().toString();

            for (int j = i + 1; j <= root.getChildCount() - 1; j++) {
                DefaultMutableTreeNode prevNode = (DefaultMutableTreeNode) root
                        .getChildAt(j);
                String np = prevNode.getUserObject().toString();

                System.out.println(nt + " " + np);
                if (nt.compareToIgnoreCase(np) > 0) {

                    root.insert(node, j);
                    break;
                }
            }
            if (node.getChildCount() > 0) {
                node = sortTree(node);
            }
        }

        return root;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM