Как вернуться в предыдущее окно с заданными значениями JAVA-FX - PullRequest
0 голосов
/ 27 октября 2019

Я не знаю, что происходит, я пытаюсь вернуться к предыдущим окнам с уже определенными значениями, но это не работает, я создал статический ObservableList, поэтому каждый раз, когда я добавляю новую цель, она будет добавляться,эта часть работает, вот код:

public void AddList(ActionEvent e) throws IOException {

    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(getClass().getResource("Form.fxml"));
    Parent root = loader.load();
    Formcontroller = loader.getController();
    Scene scene = new Scene(root);
    Stage Newstage = (Stage)((Node)e.getSource()).getScene().getWindow();
    Newstage.setScene(scene);
    Newstage.show();

}

она отправит меня в окно, где находится форма, вот код, чтобы добавить новую цель:

public void addObjective(ActionEvent e) throws IOException {

    if (this.saving.getText().equalsIgnoreCase("")) {

        Objectives object = new Objectives (this.objective.getText(), Double.parseDouble(this.price.getText()), 0);
        FXMLLoader loader = new FXMLLoader();
        loader.setLocation(getClass().getResource("Objectives.fxml"));
        Parent root = loader.load();
        Objectivescontroller = loader.getController();
        controller.AgregarObjetivo(object);
        Scene scene = new Scene(root);
        Stage Pstage = (Stage) button.getScene().getWindow();
        Pstage.setScene(scene);
        Pstage.show();

    }else {

        if (Double.parseDouble(this.saving.getText()) != 0 || Double.parseDouble(this.saving.getText()) == 0) {

            Objectives object = new Objectives (this.objective.getText(), Double.parseDouble(this.price.getText()), Double.parseDouble(this.saving.getText()));
            FXMLLoader loader = new FXMLLoader();
            loader.setLocation(getClass().getResource("Objectives.fxml"));
            Parent root = loader.load();
            Objectivescontroller = loader.getController();
            controller.addObjetive(object);
            Scene scene = new Scene(root);
            Stage Pstage = (Stage) button.getScene().getWindow();
            Pstage.setScene(scene);
            Pstage.show();

        }
    }
}

воткод для добавления цели в список:

 public void addObjective (Objectives objective) {

    objectives.add(objective);
    listview.getItems().addAll(objectives);

}

каждая добавляемая мной новая цель будет оставаться в списке, теперь проблема в том, что я пытаюсь сделать кнопку в окне формы, где я могунажмите на нее и вернитесь, не добавляя новую цель, но она показывает мне список пустым, я не знаю, почему он не показывает мне список, который уже имеет цели, вот код:

public void goback (ActionEvent e) throws IOException {

    FXMLLoader loader = new FXMLLoader();
    loader.setLocation(getClass().getResource("Objectives.fxml"));
    Parent root = loader.load();
    Scene scene = new Scene(root);
    Stage Pstage = (Stage) button.getScene().getWindow();
    Pstage.setScene(scene);

}

еготот же код, который я использовал для добавления новой цели, единственное отличие в том, что я не вызываю контроллер, извините, если мой код уродлив или нуб, но я новичок в java - javafx и я только начинаю, спасибоs!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...