【问题标题】:how to refresh content of JTree in java?如何在java中刷新JTree的内容?
【发布时间】:2012-05-10 02:19:57
【问题描述】:

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

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

【问题讨论】:

    标签: java swing jtree


    【解决方案1】:

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

    关于更新JTree组件,看看这个Stack Overflow page

    【讨论】:

    • 你说得对,但我没有其他选择。我必须使用 Java 1.5。向 JTree 添加文件后再次重新加载具有相同目录的 JTree 是否是个好主意?
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-04
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 2018-03-27
      • 2012-01-07
      • 2015-05-01
      相关资源
      最近更新 更多