5

私は観察可能なリストを持っていますObservableList<Integer> list = FXCollections.observableArrayList()

getter メソッドでlist、次のような読み取り専用の監視可能なリストを返したい:

public ObservableList<Integer> getReadOnlyList() {
     return readOnlyObservableList(list);
}

次に、読み取り専用リストをリッスンします

getReadOnlyList().addListener(listChangeListener);

したがって、基本的には、元のリストと同期された ObservableList リストを返したいので、ユーザーはListChangeListener変更イベントを登録して監視できますが、同時にユーザーが元のリストを変更することはできません。

4

2 に答える 2

1

FXCollections.unmodifiableObservableList(list)メソッドを使用するのが最善の方法だと思います。

public ObservableList<Integer> getReadOnlyList() {
    return FXCollections.unmodifiableObservableList(list);
}

JavaFX ReadOnlyListPropertyも参照してください。読み取り専用ではありませんか?

于 2015-11-27T22:53:05.147 に答える