JavaFx: как ссылаться на основной экземпляр класса Controller из класса CustomComponentController?
То, что у меня есть стандартное приложение JavaFX:Main.java, MainController.java & main.fxml
, Чтобы добавить пользовательский компонент, я создалCustomComponentController.java
а такжеcustom_component_controller.fxml
.
ПРОБЛЕМА в том, что вCustomComponentController
методы мне нужно ссылаться на другие методы и стандартные компоненты изMenuController
, я добавитьpublic static MainController mc;
вMainController
тело класса, так что это видно изCustomComponentController
(MainController.mc.neededMethod()
). Тогда я пытаюсь передать все это вMainController.initialize()
метод (mc = this;
) - при отладке этой точки останова вижуthis
полно экземпляров компонентов, ноmc
остается с нулевыми компонентами впоследствии.
ВОПРОС - как ссылаться на работающий экземплярMainController
использовать его компоненты и методы в других классах и создавать перекрестные ссылки между различными пользовательскими компонентами? Как убратьMainController
код из обработчиков событий и вспомогательных методов компонентов, перемещая все это в собственный класс компонента?
Я попробовал следующие подходы, но не нашел способа заставить их работать без ошибок:
Доступ к классу контроллера FXML
Как я могу получить доступ к классу Controller в JavaFx 2.0?
JavaFX 2.0 + FXML. Обновление значений сцены из другой Задачи
JavaFX 2.2 -fx: include - как получить доступ к родительскому контроллеру с дочернего контроллера