如何在java中刷新JTree的内容?

时间:2012-04-30 11:13:06

标签: java swing jtree

我有一个显示特定目录内容的JTree。当使用ftp下载某个文件到这个目录时,我想让我的JTree知道它并刷新他的内容。 如何在从JTree的根目录添加或删除某个文件后刷新JTree?

btnRefreshContents.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            tree.getModel().
        }
    });

2 个答案:

答案 0 :(得分:3)

如果您使用的是Java 7,则可以使用新的WatchServiceFileSystem.newWatchService())来检测文件系统的更改。这是一个article on it

关于更新JTree组件,请查看此Stack Overflow page

答案 1 :(得分:0)

您可以将目录侦听器添加到基础树模型。有很多解决方案。如前所述above,Java 7中的WatchService可能很有用。但由于您尚未使用Java 7,因此可以尝试其他方法:

JNotify - 允许java应用程序侦听文件系统事件的java库。这是一个sample(请确保将dll / so依赖项添加到路径中。)

来自Apache Commons的

VFS。 Commons VFS提供了一个用于访问各种不同文件系统的API。 DefaultFileMonitor就是一个很好的例子。