0

考虑一个Wrapper类的实例。该类Wrapper具有ListProperty实例ClassAListProperty实例ClassB

public class Wrapper {
    private ListProperty<ClassA> aClasses;
    private ListProperty<ClassB> bClasses;

    public ListProperty<ClassA> aClassesProperty() { return aClasses; }
    public ListProperty<ClassB> bClassesProperty() { return bClasses; }

    // Methods…
}

的实例ClassA并且ClassB需要知道它们是否包含在某些Wrapper. 它们可能只包含在一个中,也可能Wrapper根本不包含。

public class ClassA { // Similarly ClassB
    private Wrapper owner;
}

某些方法Wrapper可能会从 ListProperties 之一中删除成员。我想知道JavaFX是否有自动机制来通知ListProperty已删除成员?of和of /之间的一些绑定机制?ListPropertyWrapperownerClassAClassB

4

1 回答 1

0

如果你在:你可以这样走Wrapper class

aClasses.getValue().addListener(
                (ListChangeListener<ClassA>)event-> {
                    if (event.next()) {
                        if (event.wasAdded()) {

                        } else if (event.wasRemoved()) {

                        }
                    }
                }
        );

或更改为:owner.aClassesProperty().getValue().addListener(如果您在ClassA/B

但是对于 JavaFX,有:FXCollections.observableList()专用于列表中的听众,在半页和这里https://docs.oracle.com了解更多https://docs.oracle.com/javafx/2/collections/jfxpub-collections.htm /javase/8/javafx/api/javafx/collections/ObservableList.html

于 2017-02-11T23:20:39.867 回答