如何在基于Jtree / Jtable的文件列表中创建刷新/重新加载?

时间:2012-08-10 05:51:45

标签: java swing jtable jtree .refresh

我在File Browser Gui中阅读了教程,但如果更改了strucutre文件夹,程序无法动态重新加载,如何在文件浏览器GUI中创建刷新/重新加载功能?
这是我的不完整代码

refreshPath = new JButton("Refresh");
refreshPath.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent ae) {
        ....
     }
});
toolBar.add(refreshPath);

1 个答案:

答案 0 :(得分:3)

  • FileIO也是Java和Native OS的低级别硬件事件

  • 基本上有两种方式

    a)Watching a Directory for Changes for Java7,讨论了here

    b)使用一些自定义FileIO Watchin g(我不能建议什么是更好或更好,可能是FileWatcher by Apache

  • 在这两种情况下都不会通知Swing GUI,必须使用SwingWorkerRunnable#Thread

  • 进行通知
  • 使用Runnable#Thread确保输出将被通知Event Dispatch Thread,将输出包装到Swing GUI到invokeLater()

  • SwingWorker保证,但为了更安全的输出,您也可以使用invokeLater(),我们谈论的是第4个。