我有一个显示特定目录内容的JTree。当使用ftp下载某个文件到这个目录时,我想让我的JTree知道它并刷新他的内容。 如何在从JTree的根目录添加或删除某个文件后刷新JTree?
btnRefreshContents.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tree.getModel().
}
});
答案 0 :(得分:3)
如果您使用的是Java 7,则可以使用新的WatchService
(FileSystem.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就是一个很好的例子。