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 に答える