0

给定以下代码示例:

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 怎么知道它的底层数据发生了变化?毕竟 Person 类中的 SimpleStringProperty "firstName" 是私有的,所以 ObservableList 应该不能附加任何类型的侦听器?或者这是通过某种反思完成的?

4

1 回答 1

2

它没有。它只知道列表本身的更改。检查 API。

于 2012-09-19T10:04:28.063 回答