SceneBuilder 2: Должны ли классы контроллера обязательно находиться в той же папке, что и файлы FXML для просмотра?
Мне нравятся JavaFX и SceneBuilder, но я просто не могу понять, как заставить SceneBuilder связывать мои представления FXML с их контроллерами Java, когда они не находятся в одной папке. Я просто хотел бы иметь эту структуру папок:
package
|-- model
|-- view
| |--someElementView.fxml
| \--anotherElementView.fxml
\-- control
|--someElementController.java
\--anotherElementController.java
Вместо этого я могу заставить SceneBuilder распознавать мои контроллеры только в том случае, если у меня есть структура папок, которой я бы хотел избежать:
package
|-- model
\-- view
|--someElementView.fxml
|--anotherElementView.fxml
|--someElementController.java
\--anotherElementController.java
Что происходит, когда файлы FXML и java находятся в одной и той же папке, SceneBuilder обнаруживает их и показывает выпадающий список с контроллерами java (то есть «package.view.someElementController» и «package.view.anotherElementController») для меня, чтобы выбрать из и все работает хорошо.
Если у меня есть проект со структурой папок с контроллерами в отдельной папке, SceneBuilder не предложит мне никакой возможности назначить класс контроллера. Если я просто введу его в текстовое поле контроллера (то есть «package.control.someElementController» или «package.control.someElementController»), он все равно не подберет переменные @FXML, определенные в контроллере Java.
Это ошибка в Scene Builder или я подхожу к вещам неправильно? У меня всегда есть контроллеры и представления в разных папках, и, поскольку это большой проект, я бы хотел сохранить порядок.