Передать в Controller объект из Main

Как передать контроллеру объект, который создается в методе main()?

Пример:

public class MainApp extends Application {

    public static void main(String[] args) {

            Some some = new Some(); // это нужно передать в контроллер, но необходимо создавать в Main

            launch(args); // как я понимаю здесь создается объект контроллера
    }
}

class Controller implements Initializable {
      
       Some some; // используется здесь
       @FXML
       Button btn;

       public void clkBtn(ActionEvent actionEvent) {
            some.somethingDoing("хочу что-то передать");
      }
}

Ответы (1 шт):

Автор решения: Andrew Bystrov
launch(args); // как я понимаю здесь создается объект контроллера

нет, объект контроллера создается только при его загрузке. Чтобы загрузить контроллер, можно воспользоваться кодом

FXMLLoader loader = new FXMLLoader(getClass().getResource("тут путь до fxml файла"));
Parent mainView = loader.load(); //тут происходит загрузка вью и инициализация контроллера ( через метод initialize)
Controller controller = loader.getController();

Some some = new Some();
controller.setSome(some); //проставляете значение в котроллер

→ Ссылка