Как запросить предыдущий параметр (здесь: сцена) и действовать в зависимости от результата? - PullRequest
0 голосов
/ 25 марта 2019

В конкретной сцене я хочу спросить, была ли предыдущая сцена X или Y. В зависимости от результата я хочу загрузить X.fxml или Y.fxml после нажатия кнопки.

Я пытался унаследовать свой MainViewController одним методом, но мне это не удалось. Мой текущий подход просто запрашивает источник (кнопку) и в зависимости от кнопки загружает конкретный fxml.

public class FinishViewController extends MainViewController {

    public void returnFinishHandler(ActionEvent event) throws IOException {


    if (event.getSource() == returnToConfigButton) {
        stage = (Stage) returnToConfigButton.getScene().getWindow();
        root = FXMLLoader.load(getClass().getResource("/view/configurationViewKds.fxml"));

    } else {

        stage = (Stage) finishButton.getScene().getWindow();
        root = FXMLLoader.load(getClass().getResource("/view/updateView.fxml"));
    }

    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    }
}

В методе я надеюсь попросить предыдущую сцену и действовать на результат, как я описал ранее. В лучшем случае я получаю новую перспективу для нового подхода.

Ваша помощь приветствуется.

1 Ответ

0 голосов
/ 25 марта 2019

Вы можете использовать перечисление, в котором хранится состояние вашего приложения.Скажем, у вас есть класс с именем AppManager, и внутри вы создали общедоступное статическое перечисление ApplicationState.Затем внутри вашего finishHandler вы добавляете дополнительный оператор if для проверки текущего состояния приложения в менеджере приложений.

...