Я сам новичок в Java, и, возможно, это не самый сложный метод для этого сценария, но до сих пор он работал отлично для меня.

ьзуя JavaFX для приложения, и у меня есть файл Main.fxml с некоторыми дочерними файлами fxml внутри него.

Я хотел бы получить доступ к классу MainController Main.fxml из дочерних контроллеров.

Я попытаюсь объяснить лучше на примере:

MainFxml:

    <HBox fx:controller="MainController.java">
        <fx:include source="child.fxml"/>
    </HBox>

MainController:

    public class MainController implements Initializable {
            private String string;
            public void setString (String string) {
                    this.string = string;
            }

ChildFxml:

    <HBox fx:id="child" fx:controller="ChildController.java">
        <Button text="hello" onAction="#selectButton"></Button>
    </HBox>

ChildController:

    public class ChildController implements Initializable {
            @FXML HBox child;
            @FXML Button button;
            @FXML
            public void selectButton (ActionEvent event) {
                // here call MainController.setString("hello");
            }

Я старалсяэто решение найдено в StackOverflow но мне нужно получить ссылку Controller на Main.fxml, который уже был загружен. Есть ли способ получить контроллер, начиная с определенной панели? Что-то вроде:

    // child.getParent().getController();

Ответы на вопрос(0)

Ваш ответ на вопрос