У меня есть класс, который содержит информацию, на основе которой будет изменен текст заголовка в следующей сцене. Поэтому мне нужно передать объект или хотя бы строку в новую сцену, используя которую я буду обновлять текст в следующей сцене во время инициализации.
void sceneSwitch(Event event, String fxmlName, Class child){
String fxmlPath = "gui/resources/fxml/";
Node node = (Node) event.getSource();
Stage stage = (Stage) node.getScene().getWindow();
FXMLLoader sceneLoader = fxmlLoadErrorHandler(fxmlPath + fxmlName, child); //This sets up the FXMLLoader
Parent newScene = fxmlLoadErrorHandler(sceneLoader);
/* The last line above is basically the .load() function, but this already
launches the Initialize function, in which I need to use 'session' Object
which I only yet set below via setActive */
CoreController controller = sceneLoader.getController();
controller.setActive(session);
Scene scene = null;
if(newScene != null) {
scene = new Scene(newScene);
}
stage.setScene(scene);
stage.show();
}
Так есть ли для меня способ сделать то, что я пытаюсь здесь? Было бы достаточно просто отправить строку на него. Я думал об определении функции в CoreController, которую я буду запускать, как только я установлю Session до показа сцены, но CoreController является абстрактным классом, и у меня нет доступа к изменению объектов в подклассе.