gpt4 book ai didi

java - 在 FXML 中使用 Controller 时出现 NullPointerException

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:36 25 4
gpt4 key购买 nike

我试图了解 JavaFX,并遇到了 Controller 的 NullPointerException。这意味着每次我使用 Controller 的实例时,eclipse都会显示异常。我读过几个类似的问题,但没有一个解决了我的问题。

这是导致异常的代码片段

public GuiController (Stage a) throws IOException  {
this.priStage = a;
FXMLLoader fxLoader = new FXMLLoader(getClass().getClassLoader().getResource("View/OverviewWindow.fxml"));
overviewController = fxLoader.getController();
overviewController.getRefreshButton().setText("Oh no"); **// When i remove this line everything works fine!**
Parent root = fxLoader.load();
priStage.setScene(new Scene(root));
priStage.show();
}

这是我的 Controller 类,基本上什么都没有:

public class OverviewWindow implements Initializable {
@FXML TextField searchTextField;

@FXML
private Button standardButton;

@FXML
private Button refreshButton;

@FXML
private RadioButton mitArchivRadioButton;

@FXML
private RadioButton nurArchivButton;

@Override
public void initialize(URL a, ResourceBundle b) {

}
public OverviewWindow() {

}

}

我的堆栈跟踪

at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at Controller.GuiController.<init>(GuiController.java:31)
at Controller.Controller.init(Controller.java:33)
at main.start(main.java:24)

有人可以帮助我吗?我几天来一直在阅读有关此问题的信息,并尝试了多种方法来正确设置 Controller ,但无法做到。谢谢。

最佳答案

编写此代码后首先必须加载 fxml..

overviewController = fxLoader.getController();
overviewController.getRefreshButton().setText("Oh no");

关于java - 在 FXML 中使用 Controller 时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40849678/

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