Я пару раз сталкивался с каким-то очень странным поведением, каждый раз забывая трюк.
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(...)
. - person James_D   schedule 13.11.2015