gpt4 book ai didi

java - 调用 getter JFileChooser 时出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 18:13:23 24 4
gpt4 key购买 nike

每次调用 getter 时,我都会收到 NullPointerException。代码如下:

import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

public class FileChooser extends JFileChooser {
private int result;
private File filename;
private File subFile;
private FileNameExtensionFilter filter;

public FileChooser() {
filename = new File(System.getProperty("user.home"));
filter = new FileNameExtensionFilter("Subtitle Files (*.srt)", "srt");
}

public void createAndShowGUI() {
this.setDialogTitle("Select a file");
this.setCurrentDirectory(filename);
this.setFileFilter(filter);
result = this.showOpenDialog(this);
if(result == JFileChooser.APPROVE_OPTION)
subFile = this.getSelectedFile();
this.setVisible(true);
}

public File getFile() {
return subFile;
}

}

在使用调用 getFile() 函数的变量的任何地方,我都会得到空指针。在这种情况下,foo。这是片段:

FileChooser fileChooser = new FileChooser();
File foo = fileChooser.getFile();
System.out.println(foo.getName()); //Null-Pointer
System.out.println(foo.getPath()); //Null-Pointer

更新:我碰巧有两个 FileChooser 实例,但是我只想调用 createAndShowGUI() 一次。如何在构造函数中初始化所选文件?

最佳答案

好吧,你永远不会调用createAndShowGUI()。只需在调用 getFile()

之前调用即可

关于java - 调用 getter JFileChooser 时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31192819/

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