2013-06-02 2 views
4

У меня есть один файл fxml, управляемый одним контроллером. Я хочу разделить контроллер на несколько частей, как если бы он помещался в один контроллер, делает длинный код. К сожалению, контроллер fx: можно разместить только в корне. Есть ли какие-либо предложения для меня, как отделить контроллер?Несколько контроллеров для одного файла FXML

ответ

7

Я рекомендую создавать пользовательские элементы управления - используйте несколько небольших файлов FXML, а не один большой файл FXML.

Вот учебник:

http://docs.oracle.com/javafx/2/fxml_get_started/custom_control.htm

+0

да, в конце концов я использовать несколько FXML в моем проекте. Благодарю. –

+0

@Puce Если я выберу этот пользовательский aproach, я все еще смогу использовать конструктор сцен с файлом fxml? И будет ли он переопределять мои пользовательские настройки fxml снова и снова, когда я сохраню его из создателя сцены? –

+1

@TomasBisciak Да, SceneBuilder поддерживает конструкцию fx: root. Он должен вести себя так же, как с файлами ff: root FXML. – Puce

1

Во время загрузки вашей разметки FXML существует только условие наличия одного контроллера, указанного для вашего графика сцены. Вы можете загружать другие файлы разметки FXML и контроллеры гнезд, но я не думаю, что это то, о чем вы просите.

На мой взгляд, это не имеет значения.

Вы можете написать любое количество классов в любом количестве файлов и связать их с вашим классом контроллера, так же как любой Java-класс может взаимодействовать с любым другим классом Java.

Я действительно не могу придумать какой-либо особо веской причины, почему было бы полезно указать несколько контроллеров для графика сцены во время загрузки.

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