Chào các bạn,
Mình có class Person mà object của nó là element của ObservableList<Person> list. list là data của tableView. Câu hỏi của mình là: Làm sao để update tableView khi thay đổi giá trị của field của Person.
Class Person:
public class Person {
private final SimpleStringProperty name = new SimpleStringProperty("");
private final DoubleProperty height = new SimpleDoubleProperty();
public Person() {
}
public Person(String name, double height) {
this.setName(name);
this.setHeight(height);
}
public void setName(String name) {
this.name.set(name);
}
public void setHeight(double height) {
this.height.set(height);
}
public DoubleProperty getHeightProperty() {
return height;
}
}
client sử dụng Person:
public class SuperModelController {
private TableView<Person> tableView;
private ObservableList<Person> list = FXCollections.observableArrayList();
@FXML
public void initialize() {
Person ngocTrinh = new Person("Ngoc Trinh", 1.5);
Person baTung = new Person("Ba Tung", 1.6);
Person minhHang = new Person("Minh Hang", 1.5);
ngocTrinh.getHeightProperty().addListener(c->{
// Trigger data list change event to update tableView
// Thuc ra tableView nam o 1 client khac su dung list
});
list.addAll(
ngocTrinh, baTung, minhHang
);
tableView.setItems(list);
}
public void addPerson(String name, double height) {
list.add(new Person(name, height));
}
public void modifyPerson(int index, String name, double height) {
list.get(index).setName(name);
list.get(index).setHeight(height);
}
}
Mình viết caption TA vì mình từ học code bằng sách TA nên cũng chưa quen viết các thuật ngữ này bằng TV. Mong các bạn thông cảm. 
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?