Autoupdating rows in TableView from model
javafx-2, tableview
Solution
to make TableView able to track data changes you need to expose relevant fields as JavaFX properties. Add next methods to `Person` class from tutorial:
public SimpleStringProperty firstNameProperty() {
return firstName;
}
public SimpleStringProperty lastNameProperty() {
return lastName;
}
public SimpleStringProperty emailProperty() {
return email;
}
Problem
I've been looking information about refreshing data into a tableview. I was trying modifying directly the model, but I get a bug. I modify the model, but the table doesn't refreshed, only when I move a column, the table shows the modified values. To show you an example (13-6) I take the tutorial: http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJABIEED And I modify it including a button and in its action: ``` Button button = new Button("Modify"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent arg0) { String name = table.getItems().get(0).getFirstName(); name = name + "aaaa"; table.getItems().get(0).setFirstName(name); } }); final VBox vbox = new VBox(); vbox.setSpacing(5); vbox.getChildren().addAll(label, table, button); vbox.setPadding(new Insets(10, 0, 0, 10)); ``` I guess that it's a bug in the tableview, but is there any chance to fix this? Thank you!