モジュール javafx.base
パッケージ javafx.collections

クラスWeakSetChangeListener<E>

  • 型パラメータ:
    E - 監視される値の型
    すべての実装されたインタフェース:
    WeakListener, SetChangeListener<E>


    public final class WeakSetChangeListener<E>
    extends Object
    implements SetChangeListener<E>, WeakListener
    ObservableSetがリスナーの弱い参照のみ保持する場合、WeakSetChangeListenerを使用できます。 これにより、使用後に監視されたオブジェクトからオブザーバが登録解除されない場合に発生する可能性があるメモリー・リークを回避できます。

    元のSetChangeListenerを渡して、WeakSetChangeListenerが作成されます。 監視されたオブジェクトの変更をリスニングするため、WeakSetChangeListenerを登録する必要があります。

    注意: 渡されたSetChangeListenerへの参照を、使用されている間は保持する必要があります。そうでない場合は、すぐにガベージ・コレクションされます。

    導入されたバージョン:
    JavaFX 2.1
    関連項目:
    SetChangeListener, ObservableSet, WeakListener
    • コンストラクタの詳細

      • WeakSetChangeListener

        public WeakSetChangeListener​(SetChangeListener<E> listener)
        WeakSetChangeListenerのコンストラクタ。
        パラメータ:
        listener - 通知される元のリスナー
    • メソッドの詳細

      • wasGarbageCollected

        public boolean wasGarbageCollected​()
        リンクされたリスナーがガベージ・コレクションされた場合、trueを返します。 この場合、リスナーをobservableから削除できます。
        定義:
        インタフェースWeakListenerwasGarbageCollected
        戻り値:
        リンクされたリスナーがガベージ・コレクションされた場合はtrue
      • onChanged

        public void onChanged​(SetChangeListener.Change<? extends E> change)
        ObservableSetに対して変更が行われた後に呼び出されます。 このメソッドは基本的な変更(追加/削除)ごとに1回呼び出されます。 これは、removeAll(Collection)またはclear()などの複雑な変更では、onChangedメソッドが複数回呼び出される可能性があることを意味します。
        定義:
        onChanged、インタフェース: SetChangeListener<E>
        パラメータ:
        change - 行われた変更