Spec-Zone.ru › OpenJavaFX 21

Класс ObservableListBase<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
fx.collections.ObservableListBase<E>
Type Parameters:
E - тип элементов, содержащихся в списке
Все реализованные интерфейсы:
Iterable<E>, Collection<E>, List<E>, Observable, ObservableList<E>
Прямые известные подклассы:
ModifiableObservableListBase, TransformationList
public abstract class ObservableListBase<E> extends AbstractList<E> implements ObservableList<E>
Абстрактный класс, используемый в качестве базового класса для реализаций интерфейса ObservableList. Базовый класс предоставляет две функциональности для реализующих классов.
  • Обработка слушателей путём реализации методов addListener и removeListener. Метод fireChange(javafx.collections.ListChangeListener.Change) предназначен для уведомления слушателей с помощью объекта типа Change.
  • Методы для построения объекта ListChangeListener.Change. Существуют различные методы, например, nextAdd(int, int) для новых элементов в списках или nextRemove(int, java.lang.Object) для удаления элемента из списка.

    Эти методы всегда должны быть заключены в блок beginChange() и endChange().

    См. пример ниже.

Следующий пример демонстрирует, как работает построение объекта Change:
  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() и других, соответственно.

Since:
JavaFX 8.0
См. также:
  • ObservableList
  • ListChangeListener.Change
  • ModifiableObservableListBase

Краткое описание полей

Поля, объявленные в классе java.util.AbstractList

modCount

Краткое описание конструкторов

Конструктор Описание
ObservableListBase()
Создаёт стандартный ObservableListBase.

Краткое описание методов

Модификатор и тип Метод Описание
boolean addAll(E... elements)
Удобный метод для добавления элементов с помощью var-arg.
final void addListener(InvalidationListener listener)
Добавляет InvalidationListener, который будет уведомлен всякий раз, когда Observable станет недействительным.
final void addListener(ListChangeListener<? super E> listener)
Добавляет слушатель в этот наблюдаемый список.
protected final void beginChange()
Начинает блок изменений.
protected final void endChange()
Завершает блок изменений.
protected final void fireChange(ListChangeListener.Change<? extends E> change)
Уведомляет всех слушателей об изменении.
protected final boolean hasListeners()
Возвращает true, если для этого списка зарегистрированы какие-либо слушатели.
protected final void nextAdd(int from, int to)
Добавляет новую операцию добавления в изменения.
protected final void nextPermutation(int from, int to, int[] perm)
Добавляет новую операцию перестановки в изменения.
protected final void nextRemove(int idx, E removed)
Добавляет новую операцию удаления в изменения с удалением одного элемента.
protected final void nextRemove(int idx, List<? extends E> removed)
Добавляет новую операцию удаления в изменения с удалением нескольких элементов.
protected final void nextReplace(int from, int to, List<? extends E> removed)
Добавляет новую операцию замены в изменения.
protected final void nextSet(int idx, E old)
Добавляет новую операцию установки в изменения.
protected final void nextUpdate(int pos)
Добавляет новую операцию обновления в изменения.
void remove(int from, int to)
Упрощённый способ вызова sublist(from, to).clear().
boolean removeAll(E... elements)
Удобный метод для использования var-arg с методом removeAll.
final void removeListener(InvalidationListener listener)
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.
final void removeListener(ListChangeListener<? super E> listener)
Попытка удалить слушателя из этого наблюдаемого списка.
boolean retainAll(E... elements)
Удобный метод для использования var-arg с методом retainAll.
boolean setAll(E... elements)
Очищает ObservableList и добавляет все элементы, переданные с помощью var-args.
boolean setAll(Collection<? extends E> col)
Очищает ObservableList и добавляет все элементы из коллекции.

Методы, объявленные в классе 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

Методы, объявленные в интерфейсе java.util.Collection

parallelStream, removeIf, stream, toArray

Методы, объявленные в интерфейсе java.lang.Iterable

forEach

Методы, объявленные в интерфейсе 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

Методы, объявленные в интерфейсе javafx.beans.Observable

subscribe

Методы, объявленные в интерфейсе javafx.collections.ObservableList

filtered, sorted, sorted

Подробное описание конструкторов

ObservableListBase

public ObservableListBase()
Создаёт стандартный 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 - индекс элемента, который был изменён
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
Добавляет InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным. Если один и тот же слушатель добавляется более одного раза, то он будет уведомляться более одного раза. То есть проверка на уникальность не выполняется.

Обратите внимание, что тот же фактический InvalidationListener экземпляр может быть безопасно зарегистрирован для разных Observables.

Observable хранит сильную ссылку на слушателя, что предотвратит сборку мусора слушателя и может привести к утечке памяти. Рекомендуется либо отменить регистрацию слушателя, вызвав removeListener после использования, либо использовать экземпляр WeakInvalidationListener, чтобы избежать этой ситуации.

Указано в:
addListener в интерфейсе Observable
Параметры:
listener - Слушатель для регистрации
См. также:
  • Observable.removeListener(InvalidationListener)

removeListener

public final void removeListener(InvalidationListener listener)
Описание скопировано из интерфейса: Observable
Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.

Если заданный слушатель не был ранее зарегистрирован (т.е. его никогда не добавляли), то этот вызов метода является пустым. Если он был ранее добавлен, то он будет удалён. Если он был добавлен более одного раза, то будет удалён только первый экземпляр.

Указано в:
removeListener в интерфейсе Observable
Параметры:
listener - Слушатель для удаления
См. также:
  • Observable.addListener(InvalidationListener)

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, если для этого списка зарегистрированы слушатели.
Возвращает:
true, если для этого списка есть слушатель

addAll

public boolean addAll(E... elements)
Описание скопировано из интерфейса: ObservableList
Удобный метод для добавления элементов с помощью var-arg.
Указано в:
addAll в интерфейсе ObservableList<E>
Параметры:
elements - добавляемые элементы
Возвращает:
true (как указано в Collection.add(E))

setAll

public boolean setAll(E... elements)
Описание, скопированное из интерфейса: ObservableList
Очищает ObservableList и добавляет все элементы, переданные в качестве аргументов var-args.
Specified by:
setAll в интерфейсе ObservableList<E>
Параметры:
elements - элементы, которые нужно установить
Возвращает:
true (как задано в Collection.add(E))

setAll

public boolean setAll(Collection<? extends E> col)
Описание, скопированное из интерфейса: ObservableList
Очищает ObservableList и добавляет все элементы из коллекции.
Specified by:
setAll в интерфейсе ObservableList<E>
Параметры:
col - коллекция с элементами, которые будут добавлены в этот observableArrayList
Возвращает:
true (как задано в Collection.add(E))

removeAll

public boolean removeAll(E... elements)
Описание, скопированное из интерфейса: ObservableList
Удобный метод для использования var-arg с методом removeAll.
Specified by:
removeAll в интерфейсе ObservableList<E>
Параметры:
elements - элементы, которые нужно удалить
Возвращает:
true, если список изменился в результате этого вызова

retainAll

public boolean retainAll(E... elements)
Описание, скопированное из интерфейса: ObservableList
Удобный метод для использования var-arg с методом retainAll.
Specified by:
retainAll в интерфейсе ObservableList<E>
Параметры:
elements - элементы, которые нужно сохранить
Возвращает:
true, если список изменился в результате этого вызова

remove

public void remove(int from, int to)
Описание, скопированное из интерфейса: ObservableList
Упрощенный способ вызова sublist(from, to).clear(). Поскольку это распространенная операция, ObservableList имеет этот метод для удобного использования.
Specified by:
remove в интерфейсе ObservableList<E>
Параметры:
from - начало диапазона для удаления (включительно)
to - конец диапазона для удаления (исключительно)

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API