setCenter BorderPane Javafx с другого контроллера - PullRequest
0 голосов
/ 14 апреля 2020

Существует мастер-панель, содержащая макет BorderPane и различные меню на верхней панели. После нажатия на Menu (mainController), подменю загружаются в левой панели, а после щелчка по левому пункту меню (используется subController), загружают f xml в centerPane , Я делаю это с использованием другого контроллера. Пожалуйста, помогите мне с этим.

метод загрузки mainController Используется для добавления подменю на левой панели

public void loadMenu(Event event) {

    try {

        Object src = event.getSource();
        URL path = null;

        if (src.equals(dashbord)) 
            path = getClass().getResource("/dashboard/DashboardMenu.fxml");
        else if (src.equals(admin)) 
            path = getClass().getResource("/admin/AdminMenu.fxml");
        else if (src.equals(trans))
            path = getClass().getResource("/transaction/TransactionMenu.fxml");
        else if (src.equals(report))
            path = getClass().getResource("/report/ReportMenu.fxml");

        masterPanel.setLeft(FXMLLoader.load(path));


    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        ErrorLog.ErrorLog(e);
    }
}

`

public void setPage(URL path) {

    try {

        masterPanel.setCenter(FXMLLoader.load(getClass().getResource(path)));

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        ErrorLog.ErrorLog(e);
    }
}

Контроллер DashBoard используется для добавления f xml в центре

public void Action() {                              
    path = getClass().getResource("/dashboard/DashBoard.fxml");

    MainController mc = new MainController();
    mc.setPage(path);           
}
...