Я создал TableView, используя приведенный ниже код;
TableView<Person> tableView = new TableView<>();
TableColumn<Person,String> firstNameCol = new TableColumn<>("First Name");
firstNameCol .setCellValueFactory(cellData -> cellData.getValue().firstNameProperty());
tableView.getColumns().add(firstNameCol);
tableView.getItems().add(new Person("John"));
firstNameCol.setCellFactory(TextFieldTableCell.<Person>forTableColumn()));
, и моя модель выглядит следующим образом:
class Person{
private SimpleStringProperty firstName;
public Person(String firstName){
this.firstName = new SimpleStringProperty(firstName);
}
public final void setFirstName(String value){
firstName.set(value);
System.out.println("first name updated");
}
public final String getFirstName(){
return firstName.get();
}
public SimpleStringProperty firstNameProperty(){
return firstName;
}
}
Теперь, когда я редактирую столбец Имя, я долженполучить вывод «имя обновлено», но это не так, что означает, что метод set свойства модели не вызывается.Разве это не так, или мое понимание неверно?Заранее спасибо.