JavaFX Wie füge ich neuen FXML-Inhalt in die aktuelle Szene ein?

Ich habe eine App mit einer HomeScene.fxml-Datei mit Kopfzeilen und einem Menü. HomeScene verfügt auch über das DashboardPane, das nach dem Drücken der Menütaste dynamisch geändert werden sollte. Der Inhalt des Dashboard-Bereichs sollte aus einer anderen fxml-Datei geladen werden, beispielsweise 'FinancesPane.fxml' oder 'SettingsPane.fxml'.

Im versucht, den Inhalt von dashboardPane in HomeController zu ersetzen:

@FXML
public void handleFinancesButtonAction() {
    FinancesPaneFactory paneFactory = new FinancesPaneFactory();
    dashBoardPane.getChildren().clear();
    dashBoardPane.getChildren().add(paneFactory.createPane());
}

Meine FinancesPaneFactory sieht so aus:

public class FinancesPaneFactory extends PaneFactory {

    private static final String PANE_TEMPLATE_PATH = "/sceneTemplates/FinancesPane.fxml";

    public FinancesPaneFactory() {
        super(PANE_TEMPLATE_PATH );
    }

    @Override
    protected Pane generatePane(FXMLLoader loader) {
        try {
            return (Pane) loader.load();
        } catch (IOException e) {
            throw new FatBirdRuntimeException("Unable to load FinancesPane", e);
        }
    }

}

Um es klarer zu machen, sieht HomeScene folgendermaßen aus: HomeScene. Dieser leere Bereich ist ein Dashboard-Bereich und sollte durch einen anderen Inhalt ersetzt werden, wenn der Benutzer die linke Menütaste drückt.

Wie kann ich diesen Inhalt dynamisch einfügen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage