Добавить пользователя в массив списка пользователей, используя форму JavaFX и scenebuilder - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь получить форму в javafx и scenebuilder, где я позволяю пользователю вводить объект пользователя, вводя его имя, адрес электронной почты, адрес, если они студент, и их день рождения. Но когда я запускаю код после ввода информации, он не обновляет список для всех пользователей. Я что-то упустил?

     import javafx.application.Application;
     import javafx.collections.FXCollections;
     import javafx.collections.ObservableList;
     import javafx.event.ActionEvent;
     import javafx.fxml.FXML;
     import javafx.fxml.Initializable;
     import javafx.scene.control.*;
     import javafx.stage.Stage;
     import model.Library;
     import model.User;

     import java.io.IOException;
     import java.net.URL;
     import java.time.LocalDate;
     import java.util.ResourceBundle;

     public class NewUserForm {

         @FXML TextField txtName= new TextField("Name");
         @FXML TextField txtEmail= new TextField("Email");
         @FXML TextField txtAddress= new TextField("Address");
         @FXML RadioButton radStudent = new RadioButton("Student");
         @FXML RadioButton radFaculty = new RadioButton("Faculty");
         @FXML ToggleGroup radioGroup = new ToggleGroup();
         @FXML Button btnAddUser = new Button("Add User");
         @FXML DatePicker datPicker = new DatePicker();
         ObservableList<String> strListUsers = FXCollections.observableArrayList();

         Library library;
         public void initData(Library library) {
             this.library = library;
             System.out.println("Printing lib from controller" + library);
             radStudent.setToggleGroup(radioGroup);
             radFaculty.setToggleGroup(radioGroup);

             btnAddUser.setOnAction(e-> addUser());

         }

         @FXML
         public void addUser() {
             String name = txtName.getText();
             String email = txtEmail.getText();
             String address = txtAddress.getText();
             boolean student = radStudent.isSelected();
             LocalDate birthday = datPicker.getValue();

             User newUser = new User(name, email, address, birthday, student);

             System.out.println(newUser.toString());
             library.addUser(newUser);
             strListUsers.add(newUser.toString());
             System.out.println("Successfully added " + name);
         }

}
...