【发布时间】:2015-11-12 22:08:10
【问题描述】:
每次忘记诀窍时,我都会遇到几次非常奇怪的行为。
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("view/window.fxml"));
Parent root = loader.load();
GuiController controller = loader.getController();
现在controller 不为空了。
但是,在我这样做之后......
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("view/window.fxml"));
Parent root = loader.load(getClass().getResource("view/window.fxml"));
GuiController controller = loader.getController();
controller 现在是 null。
我知道loader 不知何故失去了对位置的控制?非常感谢有人告诉我这是一种预期行为并解释原因。
请注意,在关于这个问题的帖子之后,没有发现任何东西,并且仅在 2 小时的实验后才发现解决方案,所以请不要将我与类似的问题联系起来。
【问题讨论】:
-
你大概是指
loader,而不是fxmlLoader在对setLocation(...)的两次调用中。
标签: java javafx javafx-8 fxml fxmlloader