JavaFX 1 файл FXML с несколькими различными контроллерами?
в моем приложении есть два разных этапа, которые являются экранами справки, которые используют один и тот же файл FXML. Вместо того, чтобы создавать 2 файла FXML, я хотел бы использовать только один и иметь два контроллера, которые вызывают один и тот же fxml.
единственная проблема заключается в том, что контроллер назначен в файле FXML. Итак, есть ли способ изменить назначенный контроллер с кодом в самом классе контроллера?
Я бы очень хотел избежать дублирования файла FXML, чтобы изменить Контроллер в каждом. Спасибо заранее.
1 ответов
вы можете удалить fx:controller=""
задание FXML
файл и назначить контроллер через FXMLLoader
во время загрузки.
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Your.fxml"));
fxmlLoader.setController(this);
try
{
fxmlLoader.load();
}
catch (IOException exception)
{
throw new RuntimeException(exception);
}
Проверьте введение в раздел FXML о пользовательских компонентах.