2017-02-11 4 views
0

Wrapperクラスのインスタンスを考えてみましょう。 Wrapperクラスは、ListPropertyClassAインスタンスとListPropertyClassBインスタンスを持ちます。 ClassAClassBJavaFX:ListPropertyとメンバの通知

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

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

    // Methods… 
} 

インスタンスは、彼らが何らかのWrapperに含まれているかどうかを知る必要があります。それらは1つだけに含まれてもよいし、全く含まれなくてもよい。

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

Wrapperのいくつかの方法がListPropertiesのいずれかからメンバーを削除してもよいです。 JavaFXのに自動メカニズムを持っている場合、私はListProperty取り除かメンバーに通知するだろうか? ListPropertyWrapperownerの間のいくつかの結合メカニズムClassA/ClassB

答えて

0

あなたがWrapper classである場合は、この方法で行くことができます:

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

         } else if (event.wasRemoved()) { 

         } 
        } 
       } 
     ); 

以上に変更します。あなたはClassA/B

である場合owner.aClassesProperty().getValue().addListener(しかし、JavaFXのためにそこにある:FXCollections.observableList()は、リスト上のリスナーに捧げ、詳細はhttps://docs.oracle.com/javafx/2/collections/jfxpub-collections.htm半ページとここにhttps://docs.oracle.com/javase/8/javafx/api/javafx/collections/ObservableList.html

関連する問題