Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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 文件选择对话框未弹出_Java_Dialog_Jfilechooser - Fatal编程技术网

Java 文件选择对话框未弹出

Java 文件选择对话框未弹出,java,dialog,jfilechooser,Java,Dialog,Jfilechooser,我有一个关于使用JFileChooser的快速问题。我对以下代码的理解是,它将永远弹出一个新的文件选择对话框,直到用户单击“取消”或出现错误。然而,对话框似乎只是第一次弹出,代码在循环中第二次失败。奇怪的是,这个程序仍然在运行,却被困在 if (fileChooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) return; 所以。。这是怎么回事?我怎样才能做到这一点 public static void main(St

我有一个关于使用
JFileChooser
的快速问题。我对以下代码的理解是,它将永远弹出一个新的文件选择对话框,直到用户单击“取消”或出现错误。然而,对话框似乎只是第一次弹出,代码在循环中第二次失败。奇怪的是,这个程序仍然在运行,却被困在

if (fileChooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) 
    return;
所以。。这是怎么回事?我怎样才能做到这一点

public static void main(String [] args) {
    while (true) {
        JFileChooser fileChooser = new JFileChooser();
        if (fileChooser.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) return;
        // operation with the file
    }
}

这个代码对我来说很好用。如果我选择文件,我需要选择下一个,依此类推,直到我按下“取消”或“关闭对话框窗口”。可能不是文件选择器使线程等待,而是您对文件的
//操作。
。看起来您正在主线程上运行GUI代码,而不是EDT。这将导致未定义的行为,这将导致bug和(可能)死亡。@Pshemo-Hmm我刚刚尝试在删除所有操作部分的情况下运行它,但仍然得到相同的结果。我正在使用eclipse来运行它;这可能是eclipse中的某个bug吗…?@Boristeider谢谢!我让它工作了。