ObservableList如何知道其基础数据发生了变化?

时间:2012-09-19 10:02:28

标签: java javafx

给出以下代码示例:

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);
    }
}

(基于http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJABHGAJ的简化示例)

在这种情况下,ObservableList如何知道它的基础数据发生了变化?在所有SimpleStringProperty&#34; firstName&#34;之后在Person类中是私有的,所以ObservableList不能附加任何类型的监听器吗?或者这是通过某种反思来完成的?

1 个答案:

答案 0 :(得分:2)

没有。它只知道列表本身的变化。检查API。