Несколько раз я сталкивался с каким-то странным поведением, забывая о трюке.Контроллер JavaFX loading
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 (...)'. –