- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- javafx.collections.ObservableListBase<E>
-
- 型パラメータ:
E
- リストに含まれる要素の型
- すべての実装されたインタフェース:
Iterable<E>
,Collection<E>
,List<E>
,Observable
,ObservableList<E>
- 直系の既知のサブクラス:
ModifiableObservableListBase
,TransformationList
public abstract class ObservableListBase<E> extends AbstractList<E> implements ObservableList<E>
ObservableList
実装のベース・クラスとして役立つ抽象クラス。 ベース・クラスは、クラスを実装する2つの機能を提供します。-
addListener
メソッドおよびremoveListener
メソッドの実装によるリスナー処理。Change
オブジェクトを使用してリスナーに通知するためのfireChange(javafx.collections.ListChangeListener.Change)
メソッドが提供されます。 -
ListChangeListener.Change
オブジェクトを作成するメソッド。next*
と呼ばれる様々なメソッドがあります。たとえば、リストに新しいアイテムを追加するnextAdd(int, int)
、またはリストからアイテムを削除するnextRemove(int, java.lang.Object)
などです。これらのメソッドは、常に
beginChange()
とendChange()
ブロックで囲む必要があります。次の例を参照してください。
public void removeOddIndexes() { beginChange(); try { for (int i = 1; i < size(); ++i) { remove(i); } } finally { endChange(); } } public void remove(int i) { beginChange(); try { E removed = ... //do some stuff that will actually remove the element at index i nextRemove(i, removed); } finally { endChange(); } }
例のtry
/finally
ブロックは、beginChange()
/endChange()
ブロック内で例外が発生する可能性がある場合のみ必要となります。注意: 変更可能な
ObservableList
実装を作成する場合は、ModifiableObservableListBase
をスーパークラスとして使用することを検討してください。注意: 順次アクセスしてリストを作成するには、
AbstractList.listIterator()
メソッド、AbstractList.iterator()
メソッドをオーバーライドし、これらをAbstractList.get(int)
メソッド、AbstractCollection.size()
メソッドおよび他のメソッドで適宜使用する必要があります。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
ObservableList
,ListChangeListener.Change
,ModifiableObservableListBase
-
-
フィールドのサマリー
-
クラス java.util.AbstractListから継承されたフィールド
modCount
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ObservableListBase()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 boolean
addAll(E... elements)
要素のvar-arg追加の便利なメソッドです。void
addListener(InvalidationListener listener)
Observable
が無効になるたびに通知されるInvalidationListener
を追加します。void
addListener(ListChangeListener<? super E> listener)
リスナーをこの監視可能リストに追加します。protected void
beginChange()
変更ブロックを開始します。protected void
endChange()
変更ブロックを終了します。protected void
fireChange(ListChangeListener.Change<? extends E> change)
すべてのリスナーに変更を通知します。protected boolean
hasListeners()
このリストに登録されているリスナーがある場合はtrueを返します。protected void
nextAdd(int from, int to)
新しい追加操作を変更に追加します。protected void
nextPermutation(int from, int to, int[] perm)
新しい順列操作を変更に追加します。protected void
nextRemove(int idx, E removed)
新しい削除操作を単一のアイテムを削除する変更に追加します。protected void
nextRemove(int idx, List<? extends E> removed)
新しい削除操作を複数のアイテムを削除する変更に追加します。protected void
nextReplace(int from, int to, List<? extends E> removed)
新しい置換操作を変更に追加します。protected void
nextSet(int idx, E old)
新しい設定操作を変更に追加します。protected void
nextUpdate(int pos)
新しい更新操作を変更に追加します。void
remove(int from, int to)
sublist(from, to).clear()
を呼び出す簡単な方法。boolean
removeAll(E... elements)
removeAll
メソッドのvar-arg使用の便利なメソッド。void
removeListener(InvalidationListener listener)
Observable
の値が無効になるたびに通知されるリスナーのリストから指定されたリスナーを削除します。void
removeListener(ListChangeListener<? super E> listener)
この観測可能リストからリスナーを削除しようとします。boolean
retainAll(E... elements)
retainAll
メソッドのvar-arg使用の便利なメソッド。boolean
setAll(E... elements)
ObservableListを消去し、渡されたすべての要素をvar-argsとして追加します。boolean
setAll(Collection<? extends E> col)
ObservableListをクリアし、コレクションのすべての要素を追加します。-
クラス java.util.AbstractCollectionから継承されたメソッド
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString
-
クラス java.util.AbstractListから継承されたメソッド
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
インタフェース java.util.Collectionから継承されたメソッド
parallelStream, removeIf, stream
-
インタフェース java.util.Listから継承されたメソッド
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, of, of, of, of, of, of, of, of, of, of, of, of, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray
-
インタフェースjavafx.collections.ObservableListから継承されたメソッド
filtered, sorted, sorted
-
-
-
-
メソッドの詳細
-
nextUpdate
protected final void nextUpdate(int pos)
新しい更新操作を変更に追加します。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
pos
- 更新された要素が存在するリスト内の位置。
-
nextSet
protected final void nextSet(int idx, E old)
新しい設定操作を変更に追加します。nextRemove(idx); nextAdd(idx, idx + 1);
と同等です。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
idx
- 設定されたアイテムの索引。old
-idx
位置にある古い値。
-
nextReplace
protected final void nextReplace(int from, int to, List<? extends E> removed)
新しい置換操作を変更に追加します。nextRemove(from, removed); nextAdd(from, to);
と同等です。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
from
- アイテムが置換された索引to
- 新しいアイテムが存在する範囲の最後の索引(これを含まない)removed
- 削除されたアイテムのリスト
-
nextRemove
protected final void nextRemove(int idx, List<? extends E> removed)
新しい削除操作を複数のアイテムを削除する変更に追加します。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
idx
- アイテムが削除された索引removed
- 削除されたアイテムのリスト
-
nextRemove
protected final void nextRemove(int idx, E removed)
新しい削除操作を単一のアイテムを削除する変更に追加します。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
idx
- アイテムが削除された索引removed
- 削除されたアイテム
-
nextPermutation
protected final void nextPermutation(int from, int to, int[] perm)
新しい順列操作を変更に追加します。 索引"i"
の順列には、索引"i"
のアイテムが移動された索引が含まれます。最小順列を指定する必要はありません。 常に
nextPermutation(0, size(), permutation);
を使用してこのメソッドを呼び出すことが適切です。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
from
- 順序が変更された範囲の最初(これを含む)をマークします。to
- 順序が変更された範囲の最後(これを含まない)をマークします。perm
- 該当する範囲の順列。from != 0
の場合でも、配列にはリストの索引を含める必要があります。 このため、そのような順列には範囲(0, from)
の索引は含めません。
-
nextAdd
protected final void nextAdd(int from, int to)
新しい追加操作を変更に追加します。 指定された索引にあるリストでアイテムを直接見つけることができるため、追加されたアイテムのリストを指定する必要はありません。注意:
beginChange()
/endChange()
ブロック内で呼び出す必要があります。注意: リストの現在の状態を反映する必要があります。
- パラメータ:
from
- 追加された範囲の最初(これを含む)をマークしますto
- 追加された範囲の最後(これを含まない)をマークします
-
beginChange
protected final void beginChange()
変更ブロックを開始します。next*
メソッドを呼び出す前に呼び出す必要があります。 各beginChange()
には、対応するendChange()
呼出しが必要です。beginChange()
呼出しは、beginChange()
/endChange()
ブロックにネストできます。- 関連項目:
endChange()
-
endChange
protected final void endChange()
変更ブロックを終了します。 このブロックがObservableList
の最も外側のブロックの場合、Change
が作成され、すべてのリスナーに通知されます。ネストされたブロックを終了すると、通知は起動されません。
- 関連項目:
beginChange()
-
addListener
public final void addListener(InvalidationListener listener)
次のインタフェースからコピーされた説明:Observable
Observable
が無効になるたびに通知されるInvalidationListener
を追加します。 同じリスナーが複数回追加される場合、複数回通知されます。 つまり、一意性を確認するためにチェックが実行されません。実際の同じ
InvalidationListener
インスタンスが異なるObservables
に対して安全に登録される場合があるので注意してください。Observable
は、リスナーの強参照を格納するため、リスナーはガベージ・コレクションされず、メモリー・リークが発生する可能性があります。 使用後にremoveListener
を呼び出してリスナーを登録解除するか、WeakInvalidationListener
のインスタンスを使用してこの状況を回避することをお薦めします。- 定義:
- インタフェース
Observable
のaddListener
- パラメータ:
listener
- 登録するリスナー- 関連項目:
Observable.removeListener(InvalidationListener)
-
removeListener
public final void removeListener(InvalidationListener listener)
次のインタフェースからコピーされた説明:Observable
Observable
の値が無効になるたびに通知されるリスナーのリストから指定されたリスナーを削除します。指定されたリスナーが以前に登録されていない場合(つまり、一度も追加されていなかった場合)、このメソッドの呼出しはno-opです。 以前に追加されたことがある場合は削除されます。 複数回追加された場合、最初の発生のみ削除されます。
- 定義:
- インタフェース
Observable
のremoveListener
- パラメータ:
listener
- 削除するリスナー- 関連項目:
Observable.addListener(InvalidationListener)
-
addListener
public final void addListener(ListChangeListener<? super E> listener)
次のインタフェースからコピーされた説明:ObservableList
リスナーをこの監視可能リストに追加します。- 定義:
- インタフェース
ObservableList<E>
のaddListener
- パラメータ:
listener
- リストの変更をリスニングするリスナー
-
removeListener
public final void removeListener(ListChangeListener<? super E> listener)
次のインタフェースからコピーされた説明:ObservableList
この観測可能リストからリスナーを削除しようとします。 リスナーがこのリストにアタッチされていない場合、何も発生しません。- 定義:
- インタフェース
ObservableList<E>
のremoveListener
- パラメータ:
listener
- 削除するリスナー
-
fireChange
protected final void fireChange(ListChangeListener.Change<? extends E> change)
すべてのリスナーに変更を通知します。- パラメータ:
change
- 行われた変更を表すオブジェクト
-
hasListeners
protected final boolean hasListeners()
このリストに登録されているリスナーがある場合はtrueを返します。- 戻り値:
- このリストのリスナーがある場合はtrue
-
addAll
public boolean addAll(E... elements)
次のインタフェースからコピーされた説明:ObservableList
要素のvar-arg追加の便利なメソッドです。- 定義:
- インタフェース
ObservableList<E>
のaddAll
- パラメータ:
elements
- 追加する要素- 戻り値:
- true(Collection.add(E)で指定されているとおり)
-
setAll
public boolean setAll(E... elements)
次のインタフェースからコピーされた説明:ObservableList
ObservableListを消去し、渡されたすべての要素をvar-argsとして追加します。- 定義:
- インタフェース
ObservableList<E>
のsetAll
- パラメータ:
elements
- 設定する要素- 戻り値:
- true(Collection.add(E)で指定されているとおり)
-
setAll
public boolean setAll(Collection<? extends E> col)
次のインタフェースからコピーされた説明:ObservableList
ObservableListをクリアし、コレクションのすべての要素を追加します。- 定義:
- インタフェース
ObservableList<E>
のsetAll
- パラメータ:
col
- このobservableArrayListに追加される要素を含むコレクション- 戻り値:
- true(Collection.add(E)で指定されているとおり)
-
removeAll
public boolean removeAll(E... elements)
次のインタフェースからコピーされた説明:ObservableList
removeAll
メソッドのvar-arg使用の便利なメソッド。- 定義:
- インタフェース
ObservableList<E>
のremoveAll
- パラメータ:
elements
- 削除する要素- 戻り値:
- この呼出しの結果、リストが変更された場合はtrue
-
retainAll
public boolean retainAll(E... elements)
次のインタフェースからコピーされた説明:ObservableList
retainAll
メソッドのvar-arg使用の便利なメソッド。- 定義:
- インタフェース
ObservableList<E>
のretainAll
- パラメータ:
elements
- 保持する要素- 戻り値:
- この呼出しの結果、リストが変更された場合はtrue
-
remove
public void remove(int from, int to)
次のインタフェースからコピーされた説明:ObservableList
sublist(from, to).clear()
を呼び出す簡単な方法。 これは一般的な操作であるため、ObservableListは便利な使い方のためにこのメソッドを持っています。- 定義:
remove
、インタフェース:ObservableList<E>
- パラメータ:
from
- 削除する範囲の開始(含む)to
- 削除する範囲の最後(含まない)
-
-