Инициализация FXML копонента - Java
Формулировка задачи:
Столкнулся с проблемой, господа. Начал изучение FXML технологии.
Значит так. Пишу родительскую страницу программы, в ней есть BorderPane с некоторыми компонентами в top. Но при попытке программно добавить компонент в этот же BorderPane даёт мне НПЕ, типо не инициализирован этот BorderPane. Подскажите где я ошибаюсь. Примеры показываю.
Загрузка fxml файла главной страницы.
Попытка добавить другую страницу в setCenter по кнопке
File rootFxml = new File("resourcesModule/fxml/" + locale + "/root.fxml"); try { root = FXMLLoader.load(rootFxml.toURL(), null, new JavaFXBuilderFactory()); setTop(root); } catch (IOException e) { e.printStackTrace(); }
@FXML protected void goToComPhot() { File comPhotoPageFXML = new File("resourcesModule/fxml/" + locale + "/comPhotoPage.fxml"); try { Parent comPhotoPage = (Parent)FXMLLoader.load(comPhotoPageFXML.toURL(), null, new JavaFXBuilderFactory()); root.setCenter(comPhotoPage); } catch (IOException e) { e.printStackTrace(); } }
Решение задачи: «Инициализация FXML копонента»
textual
Листинг программы
@FXML protected void goToComPhot() { File comPhotoPageFXML = new File("resourcesModule/fxml/" + locale + "/comPhotoPage.fxml"); try { Parent comPhotoPage = (Parent)FXMLLoader.load(comPhotoPageFXML.toURL(), null, new JavaFXBuilderFactory()); if(comPhotoPage != null) root.setCenter(comPhotoPage); else throw new Exception("bla bla NULL"); } catch (IOException e) { e.printStackTrace(); } }