Spec-Zone.ru › OpenJavaFX 24

Класс ObservableListBase<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
javafx.collections.ObservableListBase<E>
Параметры типа:
E - тип элементов, содержащихся в списке
Все реализованные интерфейсы:
Iterable<E>, Collection<E>, List<E>, SequencedCollection<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. Существуют различные методы, называемые next*, такие как 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() и т.д.

С тех пор:
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-arg.
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, addFirst, addLast, clear, contains, containsAll, equals, get, getFirst, getLast, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, 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, если для этого списка есть слушатель
END_OF_DOCUMENT_MARKER

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.
Указано:
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
Удобный метод для использования var-arg метода removeAll.
Указано:
removeAll в интерфейсе ObservableList<E>
Параметры:
elements - элементы, которые нужно удалить
Возвращает:
true, если список изменился в результате этого вызова

retainAll

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

remove

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

Отправить отчет об ошибке или предложить улучшение
Авторское право © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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