Я следую шаблону MVC для моего Java-приложения.Итак, у меня есть один класс (обычно расширяет любые макеты, такие как Gridpane, HBox и т. Д.) Для View, а другой - для Controller.
Немного предыстории: Поскольку приложение, которое я создаю, будет работать на более старой машине, время выполнения очень важно.Во время профилирования я обнаружил, что анализ FXML занимает больше времени, поэтому я переключился на классы.
Теперь вернемся к проблеме: поскольку я использую классы для Views, мне нужен какой-то автоматический механизм, который будет связывать мой класс представления с контроллером (как это делает загрузчик FXML).
Итак, я былдумая, что есть какая-то аннотация, такая как
@Controller(MainController.class)
public class MainView extends GridPane {
private Button btn = new Button();
...
}
И контроллер
public class MainController {
@FXML
private Button btn; // <--- This will be injected automatically from View class
}
Итак, мой вопрос здесь,
Как я могу перехватить создание объекта класса MainView, чтобы я могсоздать экземпляр объекта контроллера для того же поля ввода, используя отражение?
PS: как я уже говорил, приложение будет работать на устаревших системах, поэтому я не хочу использовать какие-либо сторонние фреймворки (хотя я могу пойтидля некоторых легких библиотек)