Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在基于Jtree/Jtable的文件列表中创建刷新/重新加载?_Java_Swing_Jtable_Jtree_.refresh - Fatal编程技术网

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

Java 如何在基于Jtree/Jtable的文件列表中创建刷新/重新加载?,java,swing,jtable,jtree,.refresh,Java,Swing,Jtable,Jtree,.refresh,我在中阅读了教程,但如果structure文件夹更改,程序无法动态重新加载,如何在文件浏览器GUI中创建刷新/重新加载功能? 这里是我的未完成代码 refreshPath = new JButton("Refresh"); refreshPath.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae) { .... } }); toolBar.add

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

refreshPath = new JButton("Refresh");
refreshPath.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent ae) {
        ....
     }
});
toolBar.add(refreshPath);
  • Java和本机操作系统也是低级别和硬事件吗

  • 基本上有两种方法

    a) ,讨论

    b) 使用一些定制的
    FileIO-Watchin
    g(我不能建议什么更好或者不更好,可能是Apache的
    FileWatcher

  • 在这两种情况下,Swing GUI都不会收到任何通知,必须使用
    SwingWorker
    Runnable#Thread

  • 通过使用
    Runnable#Thread
    ins,不保证输出将被通知
    Event Dispatch Thread
    ,将输出包装到Swing GUI的
    invokeLater()

  • SwingWorker
    保证这一点,但为了更安全地输出,您也可以使用
    invokeLater()
    ,我们讨论的是第四个。此外,短代码线