javafxjava。lang.NullPointerException在应用程序关闭时尝试获取mainApp中文本字段的文本时发生
我是javaFX新手,我试图在应用程序关闭时获取文本字段的值,所以我使用了
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/Scene.fxml"));
FXMLController controllerClass = loader.getController();
loader.load();
controllerClass.getTextFieldValue();
System.out.println("closing");
里面
stage.setOnCloseRequest()
但我总是得到一个java。lang.NullPointerException
这是getTextfieldValue()
System.out.println(textField.getText());
所以基本上这就是我想要实现的,我想要在我的应用程序关闭时在文本字段中获得值。因此,我在mainApp类中有我的stage.onCloseRequest()
方法,但没有textField。getText()总是返回一个空字符串。我希望它返回文本字段中的当前文本
# 1 楼答案
load()
李>stop()
方法,并返回其中保存的值李>我不确定这是最好的方法,但对我来说很有效,谢谢你的帮助
# 2 楼答案
在获取控制器之前,必须运行
load()
请尝试以下代码:
# 3 楼答案
您是否忘记在
Scene.fxml
中添加fx:id
? 请提供更多代码示例。我不知道你的FXML
文件中发生了什么。我认为可能缺少某种xml代码虽然我不知道你们想要实现什么,但我认为有更简单、更正确的方法
如果之前未将值设置为
null
,则该值始终为getTextFieldValue