Witam, piszę aplikację w javafx i napotkałem problem z działaniem SimpleStringProperty. Mam klasę kontrolera w której mam pola
@FXML
private TableView<User> userTable;
@FXML
private TableColumn<User, String> emailColumn;
private ObservableList<User> observableUserTable;
Tabelę wypełniam danymi z bazy
userDAO = new UserDAOImpl();
observableUserTable = FXCollections.observableArrayList(userDAO.findAll());
userTable.setItems(observableUserTable);
emailColumn.setCellValueFactory(
new PropertyValueFactory<>("email"));
no i mam metodę podłączoną do przycisku, która będzie dodawała jakis tekst do pola Email
@FXML
void newUser(ActionEvent event) {
User user = (User) userTable.getSelectionModel().getSelectedItem();
user.setEmail(user.getEmail() + "1");
UserDAO udao = new UserDAOImpl();
udao.updateUser(user);
}
no i tabela dopiero odswieżeniu jej a nie po kliknięciu przycisku. Tutaj jeszcze część klasy User
private SimpleStringProperty email;
@Column(name = "EMAIL", unique = true, nullable = false)
public String getEmail() {
return email.get();
}
public void setEmail(String email) {
// this.email = email;
if (this.email == null) {
this.email = new SimpleStringProperty();
}
this.email.set(email);
}
Z góry dzięki za pomoc