Используйте композицию, а не наследование.
Наследование - это неправильная концепция, чтобы пытаться достичь чего-то вроде этого. Вместо этого добавьте для этого создание родительского макета и добавьте функциональность для отображения в нем контента.
Пример:
public class ParentController {
@FXML
private StackPane container;
public void setContent(Node content) {
// replace old container content
container.getChildren().setAll(content);
}
// code for setting the name...
}
<VBox>
<children>
<Label text="Nadeen"/>
<StackPane fx:id="container" VBox.vgrow="ALWAYS"/>
<children>
</VBox>
Это позволяет вам заменять контент результатами загрузки различных f xml файлов.
ParentController controller = ...;
controller.setContent(someNode);
...
controller.setContent(someOtherNode);
Убедитесь, что вы правильно обращаетесь к контроллеру, как описано здесь:
Передача параметров JavaFX F XML
Вы также можете go с подходом пользовательских компонентов ...