尝试进行动态更新时,jTree复制条目

时间:2018-03-05 16:16:01

标签: java jtree

我整个周末一直在撞墙,试图解决这个问题,并且还没有能够在这里找到一些我可以用来解决问题的方法。我基本上是尝试用jTree做一个文件视图,但是侧面没有显示视图,只有它通过jTree运行。

public void getList(DefaultMutableTreeNode node, File f) {
    jTree1.setRootVisible(false);
    DefaultMutableTreeNode child = new DefaultMutableTreeNode(null);

    if (!f.isDirectory()) {
        if (f.getName().endsWith("msg")) {
            String fTrim = f.getName();

            child = new DefaultMutableTreeNode(fTrim);
            node.add(child);
        }
    } else {
        //System.out.println("DIRECTORY  -  " + f.getName());
        String fTrim = f.getName();
        child = new DefaultMutableTreeNode(fTrim);
        node.add(child);
        File fList[] = f.listFiles();

        for (int i = 0; i < fList.length; i++) {
            System.out.println(fList[i]);
            getList(child, fList[i]);
        }
    }
    DefaultTreeModel dtm = new DefaultTreeModel(node);
    DefaultTreeModel clear = new DefaultTreeModel(null);
    jTree1.setModel(dtm);
    }

以上是我用来构建初始列表的内容。然后我使用getList(node,file);命令也尝试运行列表的更新。这在某种意义上是有效的,但是,每次更新它时,它也会加载到树中的重复值中。以下是我打电话来尝试更新列表的方法,

private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {                                       
    getList(root, new File("\\\\hqdata02\\fadata\\ecp call center\\cp - all agents\\Floor Messages\\"));
}

结果可以在下面看到

At Load

After Update

非常感谢任何帮助。在一天结束时,我只是想让它更新目录中已更改的任何值。我也意识到再次调用getList,可能只是重新添加导致问题的所有文件,我只是无法弄清楚如何让它更新。

0 个答案:

没有答案