Java ObservableList如何知道其基础数据发生了变化?
给出以下代码示例:Java ObservableList如何知道其基础数据发生了变化?,java,javafx,Java,Javafx,给出以下代码示例: private final ObservableList<Person> data = FXCollections.observableArrayList( new Person("Jacob"), new Person("Isabella") ); public static class Person { private final SimpleStringProperty firstName
private final ObservableList<Person> data =
FXCollections.observableArrayList(
new Person("Jacob"),
new Person("Isabella")
);
public static class Person {
private final SimpleStringProperty firstName;
private Person(String fName, String lName, String email) {
this.firstName = new SimpleStringProperty(fName);
}
public String getFirstName() {
return firstName.get();
}
public void setFirstName(String fName) {
firstName.set(fName);
}
}
私有最终可观察列表数据=
FXCollections.observableArrayList(
新人(“雅各布”),
新人(“伊莎贝拉”)
);
公共静态类人员{
私有最终SimpleStringProperty名字;
私人(字符串fName、字符串lName、字符串电子邮件){
this.firstName=新的SimpleStringProperty(fName);
}
公共字符串getFirstName(){
返回firstName.get();
}
public void setFirstName(字符串fName){
firstName.set(fName);
}
}
(基于的简化示例)
在这种情况下,ObservableList如何知道其基础数据发生了变化?毕竟Person类中的SimpleStringProperty“firstName”是私有的,所以ObservableList不能附加任何类型的侦听器?或者这是某种反射造成的?不是。它只知道列表本身的更改。检查API。你能提供一个示例,说明ObservableList知道何时调用setter吗?我不能,因为没有,我只是理解了一些错误;-)