Класс ObservableListBase<E>
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- javafx.collections.ObservableListBase<E>
Параметры типа:
E - тип элементов, содержащихся в списке
Все реализованные интерфейсы:
Iterable<E>, Collection<E>, List<E>, Observable, ObservableList<E>
Прямые известные подклассы:
public abstract class ObservableListBase<E> extends AbstractList<E> implements ObservableList<E>
ObservableList. Базовый класс предоставляет две функциональности для реализующих классов. - Обработка слушателей путём реализации методов
addListenerиremoveListener. МетодfireChange(javafx.collections.ListChangeListener.Change)предназначен для уведомления слушателей с объектом типа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
-
Краткое описание полей
-
Поля, унаследованные от класса java.util.AbstractList
modCount
-
-
Краткое описание конструкторов
Конструкторы Конструктор и описание ObservableListBase()
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод и описание booleanaddAll(E... elements)Удобный метод для добавления элементов с использованием var-arg.voidaddListener(InvalidationListener listener)Добавляет слушательInvalidationListener, который будет уведомляться всякий раз, когдаObservableстановится недействительным.voidaddListener(ListChangeListener<? super E> listener)Добавляет слушателя в этот список.protected voidbeginChange()Начинает блок изменения.protected voidendChange()Завершает блок изменения.protected voidfireChange(ListChangeListener.Change<? extends E> change)Уведомляет всех слушателей об измененииprotected booleanhasListeners()Возвращает true, если для этого списка зарегистрированы слушатели.protected voidnextAdd(int from, int to)Добавляет новую операцию добавления в изменение.protected voidnextPermutation(int from, int to, int[] perm)Добавляет новую операцию перестановки в изменение.protected voidnextRemove(int idx, E removed)Добавляет новую операцию удаления в изменение с удалением одного элемента.protected voidnextRemove(int idx, List<? extends E> removed)Добавляет новую операцию удаления в изменение с удалением нескольких элементов.protected voidnextReplace(int from, int to, List<? extends E> removed)Добавляет новую операцию замены в изменение.protected voidnextSet(int idx, E old)Добавляет новую операцию установки в изменение.protected voidnextUpdate(int pos)Добавляет новую операцию обновления в изменение.voidremove(int from, int to)В основном, сокращение для sublist(from, to).clear() Поскольку это распространённая операция, ObservableList имеет этот метод для удобства использования.booleanremoveAll(E... elements)Удобный метод для использования метода removeAll с var-arg.voidremoveListener(InvalidationListener listener)Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значениеObservableстановится недействительным.voidremoveListener(ListChangeListener<? super E> listener)Пытается удалить слушателя из этого наблюдаемого списка.booleanretainAll(E... elements)Удобный метод для использования метода retain с var-arg.booleansetAll(Collection<? extends E> col)Очищает ObservableList и добавляет все элементы из коллекции.booleansetAll(E... elements)Очищает ObservableList и добавляет все элементы, переданные в качестве var-arg.-
Методы, унаследованные от класса java.util.AbstractList
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
Методы, унаследованные от класса java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString
-
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Методы, унаследованные от интерфейса javafx.collections.ObservableList
filtered, sorted, sorted
-
Методы, унаследованные от интерфейса java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray
-
Методы, унаследованные от интерфейса java.util.Collection
parallelStream, removeIf, stream
-
-
Подробное описание конструкторов
-
ObservableListBase
public ObservableListBase()
-
-
Подробное описание методов
-
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- индекс элемента, который был установлен
-
nextReplace
protected final void nextReplace(int from, int to, List<? extends E> removed)Добавляет новую операцию замены в изменение. ЭквивалентноnextRemove(from, removed); nextAdd(from, to);Примечание: необходимо вызывать внутри блока
beginChange()/endChange().Примечание: необходимо отражать текущее состояние списка.
Параметры:
from- индекс, где элементы были заменены
-
nextRemove
protected final void nextRemove(int idx, List<? extends E> removed)Добавляет новую операцию удаления в изменение с удалением нескольких элементов.Примечание: необходимо вызывать внутри блока
beginChange()/endChange().Примечание: необходимо отражать текущее состояние списка.
Параметры:
idx- индекс, где были удалены элементы
-
nextRemove
protected final void nextRemove(int idx, E removed)Добавляет новую операцию удаления в изменение с удалением одного элемента.Примечание: необходимо вызывать внутри блока
beginChange()/endChange().Примечание: необходимо отражать текущее состояние списка.
Параметры:
idx- индекс, где был удален элемент
-
nextPermutation
protected final void nextPermutation(int from, int to, int[] perm)Добавляет новую операцию перестановки в изменение. Перестановка по индексу"i"содержит индекс, куда был перемещен элемент из индекса"i".Не обязательно предоставлять наименьшую возможную перестановку. Правильно всегда вызывать этот метод с
nextPermutation(0, size(), permutation);Примечание: необходимо вызывать внутри блока
beginChange()/endChange().Примечание: необходимо отражать текущее состояние списка.
Параметры:
from- отмечает начало (включительно) диапазона, который был переставлен
-
nextAdd
protected final void nextAdd(int from, int to)Добавляет новую операцию добавления в изменение. Нет необходимости предоставлять список добавленных элементов, так как их можно найти напрямую в списке по указанным индексам.Примечание: необходимо вызывать внутри блока
beginChange()/endChange().Примечание: необходимо отражать текущее состояние списка.
Параметры:
from- отмечает начало (включительно) диапазона, который был добавлен
-
beginChange
protected final void beginChange()
Начинает блок изменения. Должен быть вызван перед вызовом любого из методовnext*. Для каждогоbeginChange()должен быть соответствующий вызовendChange().Вызовы
beginChange()могут быть вложены в блокbeginChange()/endChange().См. также:
-
endChange
protected final void endChange()
Завершает блок изменения. Если блок является внешним блоком дляObservableList, тоChangeсоздаётся и все слушатели уведомляются.Завершение вложенного блока не вызывает уведомления.
См. также:
-
addListener
public final void addListener(InvalidationListener listener)
Описание скопировано из интерфейса:ObservableДобавляетInvalidationListener, который будет уведомляться всякий раз, когдаObservableстановится недействительным. Если тот же слушатель добавляется более одного раза, он будет уведомляться более одного раза. То есть, проверка на уникальность не выполняется.Обратите внимание, что тот же фактический экземпляр
InvalidationListenerможет быть безопасно зарегистрирован для разныхObservables.Observableхранит сильную ссылку на слушателя, что предотвращает сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвавremoveListenerпосле использования, либо использовать экземплярWeakInvalidationListener, чтобы избежать этой ситуации.Определено в:
addListenerв интерфейсеObservableПараметры:
listener- Слушатель для регистрации
-
removeListener
public final void removeListener(InvalidationListener listener)
Описание скопировано из интерфейса:ObservableУдаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда значениеObservableстановится недействительным.Если указанный слушатель ранее не был зарегистрирован (т.е. его никогда не добавляли), то вызов этого метода не имеет эффекта. Если он был ранее добавлен, он будет удален. Если он был добавлен более одного раза, то будет удалён только первый случай.
Определено в:
removeListenerв интерфейсеObservableПараметры:
listener- Слушатель для удаленияСм. также:
-
addListener
public final void addListener(ListChangeListener<? super E> listener)
Описание скопировано из интерфейса:ObservableListДобавляет слушателя в этот наблюдаемый список.Определено в:
addListenerв интерфейсеObservableList<E>Параметры:
listener- слушатель для наблюдения за изменениями в списке
-
removeListener
public final void removeListener(ListChangeListener<? super E> listener)
Описание скопировано из интерфейса:ObservableListПопытка удалить слушателя из этого наблюдаемого списка. Если слушатель не прикреплён к этому списку, ничего не происходит.Определено в:
removeListenerв интерфейсеObservableList<E>Параметры:
listener- слушатель для удаления
-
fireChange
protected final void fireChange(ListChangeListener.Change<? extends E> change)
Уведомляет всех слушателей об измененииПараметры:
change-
-
hasListeners
protected final boolean hasListeners()
Возвращает true, если для этого списка зарегистрированы какие-либо слушатели.
-
addAll
public boolean addAll(E... elements)
Описание скопировано из интерфейса:ObservableListУдобный метод для добавления элементов с помощью var-args.Определено в:
addAllв интерфейсеObservableList<E>Параметры:
elements- добавляемые элементыВозвращает:
true (как указано в Collection.add(E))
-
setAll
public boolean setAll(E... elements)
Описание скопировано из интерфейса:ObservableListОчищает ObservableList и добавляет все переданные элементы с помощью var-args.Определено в:
setAllв интерфейсеObservableList<E>Параметры:
elements- устанавливаемые элементыВозвращает:
true (как указано в Collection.add(E))
-
setAll
public boolean setAll(Collection<? extends E> col)
Описание скопировано из интерфейса:ObservableListОчищает ObservableList и добавляет все элементы из коллекции.Определено в:
setAllв интерфейсеObservableList<E>Параметры:
col- коллекция с элементами, которые будут добавлены в этот observableArrayListВозвращает:
true (как указано в Collection.add(E))
-
removeAll
public boolean removeAll(E... elements)
Описание скопировано из интерфейса:ObservableListУдобный метод для использования метода removeAll с var-args.Определено в:
removeAllв интерфейсеObservableList<E>Параметры:
elements- удаляемые элементыВозвращает:
true, если список изменился в результате этого вызова
-
retainAll
public boolean retainAll(E... elements)
Описание скопировано из интерфейса:ObservableListУдобный метод для использования метода retain с var-args.Определено в:
retainAllв интерфейсеObservableList<E>Параметры:
elements- сохраняемые элементыВозвращает:
true, если список изменился в результате этого вызова
-
-
удалить
public void remove(int from, int to)Описание скопировано из интерфейса:ObservableListВ основном это сокращение для sublist(from, to).clear() Так как это распространённая операция, ObservableList имеет этот метод для удобного использования.Определено в:
removeв интерфейсеObservableList<E>Параметры:
from- начало диапазона для удаления (включительно)
-
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.