gpt4 book ai didi

java - JFilechooser 关闭时退出

转载 作者:行者123 更新时间:2023-12-02 06:32:26 29 4
gpt4 key购买 nike

在我的 java 应用程序中,有一个浏览按钮。单击浏览按钮时,弹出文件选择器以选择文件。当我通过单击右上角的十字标记而不选择文件来关闭文件选择器时,它会给出一个异常,提示“线程“AWT-EventQueue-0”java.lang.NullPointerException 中出现异常”。我该如何防止这个错误?

        JFileChooser chooser = new JFileChooser();

chooser.setCurrentDirectory(new java.io.File("."));
//chooser.setDialogTitle(choosertitle);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
//chooser.setAcceptAllFileFilterUsed(false);
chooser.showOpenDialog(frame);

path=chooser.getSelectedFile().getPath();

最佳答案

如果退出 JFileChooser 而不选择文件,chooser.getSelectedFile() 将返回 null

因此,在您的行 path=chooser.getSelectedFile().getPath(); 上,当您尝试调用 getPath() 时,您将收到 NullPointerException null 选定的文件上,因为您退出了。

您将需要进行一些错误处理,例如:

JFileChooser chooser = new JFileChooser();

chooser.setCurrentDirectory(new java.io.File("."));
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
chooser.showOpenDialog(frame);

File selectedFile = chooser.getSelectedFile();
if (selectedFile == null) {
System.out.println("No file selected!");
path = "";
}
else {
path = selectedFile.getPath();
}

在这种情况下,我建议您仔细阅读您从中检索资源的方法的 Javadoc。通常在“返回”部分下,它会说明返回的对象是否可以为 null,或者即使它保证不为 null

在决定何时以及何时不添加诸如 null 检查之类的内容时,它对我有很大帮助。

关于java - JFilechooser 关闭时退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944403/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com