2015-03-10 2 views
0

Каждый, кто использует JavaFX, знает, что конструктора нет. Контроллеры начинают с метода initialize.JavaFX: Есть ли практика замены конструктора?

Мое решение для передачи вещей в начале было создать метод, как setupMyController(String example); Проблема в том, когда другой программист изменяет код, он не вынужден использовать этот метод, так что вещи, которые должны были быть переданы в контроллер может быть нулевым.

Кто-нибудь знает способ, который не может избежать установки?

+2

Что вы подразумеваете под 'no constructor'? Каждый класс имеет конструктор, и это справедливо и для контроллеров JavaFX. – ItachiUchiha

+0

?? Если вы вызываете FXML через загрузчик FXML, вы получаете контроллер от загрузчика 'loader.getController()'. Где вы там называете конструктора? – Juce

+1

«FXMLLoader» вызывает конструктор для вас. По умолчанию он вызывает конструктор без аргументов, но вы можете изменить это поведение, установив фабрику контроллера на «FXMLLoader». –

ответ

0

Вы должны использовать контейнер DI (например, Guice) и заводской завод изготовителя

Смежные вопросы