Я пытаюсь получить форму в 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);
}
}