0

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

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

2 回答 2

3

如果您使用的是 Java 7,则可以使用 new WatchService( FileSystem.newWatchService()) 来检测文件系统的更改。这是一篇关于它的文章。

至于更新 JTree 组件,请查看Stack Overflow 页面

于 2012-04-30T11:15:31.560 回答
0

您可以将目录侦听器添加到底层树模型。有很多解决方案。如上所述在 Java 7中WatchService可能很有用。但是由于您还没有使用 Java 7,您可以尝试其他方法:

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

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

于 2012-04-30T15:55:42.847 回答