我有一个FXML控制器类,其中包含一个文本字段,我想要填充用户通过FileChooser选择的文件的各种文件属性。
控制器看起来像:
@FXML
TextField documentName;
File file;
public void attachNewDocFileChooser() {
file = new MyFileChooser().chooser();
if (file != null) {
documentName.setText(file.getName());
} else {
documentName.setText("No file selected");
}
}
FileChooser是在另一个班级MyFileChooser
中创建的:
@FXML
public File chooser() {
File file = null;
final JFileChooser fileDialog = new JFileChooser();
int returnVal = fileDialog.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
file = fileDialog.getSelectedFile();
}
return file;
}
我无法使用所选文件的名称填充文本字段documentName
。
我非常感谢能帮助你完成这项工作。提前谢谢大家。
更新:
我得到了java.lang.NullPointerException
。
我也忘了提及chooser()
已链接到标签,以便onMouseClicked="#chooser"
。
答案 0 :(得分:1)
唯一的NullPointerException可能是documentName
仍为null。也就是说,@FXML
不起作用。检查异常的行号以查看是否是这种情况。然后查看你加载的.fxml文件。
@FXML(name="documentName")
public TextField documentName;