Загрузка разных файлов FXML из контроллера - PullRequest
0 голосов
/ 21 мая 2018

Прошу прощения, так как понимаю, что этот вопрос немного широк по своей природе.Чего я хочу добиться, так это иметь возможность загружать разные файлы FXML (расположенные в разных пакетах), когда выполняются определенные условия, например, когда нажимается кнопка или когда выполняется определенное условие.Пока мне удалось загрузить файл при нажатии кнопки.

@FXML
private AnchorPane rootPane;

@FXML
private Button btn;


@FXML
private void loadLoginWindow(javafx.event.ActionEvent event) throws IOException {

    AnchorPane pane = FXMLLoader.load(getClass().getResource("login/MainWindow.fxml"));

    rootPane.getChildren().setAll(pane);
}

@Override
public void initialize(URL url, ResourceBundle rb) {
    // TODO
} 

И он работает нормально, но только для одной кнопки и одного обработчика, как только добавляется другая, он перестает работать, кажетсячто только один может работать в то время.Ясно, что я упускаю кучу важной информации, но в каждом уроке, на который я смотрел, этот вопрос не рассматривается, потому что они даже не достигают его (все они вращаются вокруг одного файла или полагаются на скрытие ипоказывать панели из одного и того же файла)

У кого-нибудь есть хороший учебник или исчерпывающее руководство для такого рода вещей?

Заранее спасибо.

1 Ответ

0 голосов
/ 21 мая 2018

Что может произойти, если ссылка на контроллер в файле FXML может быть неправильной.Даже если местоположение файла может не существовать, приложение все равно будет строить.

<AnchorPane id="AnchorPane" fx:controller="main.MainController">

Путь в контроллере fx: должен быть правильным.

Cheers!

...