Spec-Zone.ru › OpenJavaFX 8
javafx.collections

Класс ObservableListBase<E>

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. Базовый класс предоставляет две функциональности для реализующих классов.
  • Обработка слушателей путём реализации методов 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()
  • Краткое описание методов

    Все методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод и описание
    boolean addAll(E... elements)
    Удобный метод для добавления элементов с использованием var-arg.
    void addListener(InvalidationListener listener)
    Добавляет слушатель InvalidationListener, который будет уведомляться всякий раз, когда Observable становится недействительным.
    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() Поскольку это распространённая операция, ObservableList имеет этот метод для удобства использования.
    boolean removeAll(E... elements)
    Удобный метод для использования метода removeAll с var-arg.
    void removeListener(InvalidationListener listener)
    Удаляет заданного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.
    void removeListener(ListChangeListener<? super E> listener)
    Пытается удалить слушателя из этого наблюдаемого списка.
    boolean retainAll(E... elements)
    Удобный метод для использования метода retain с var-arg.
    boolean setAll(Collection<? extends E> col)
    Очищает ObservableList и добавляет все элементы из коллекции.
    boolean setAll(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
    • Методы, унаследованные от интерфейса java.lang.Iterable

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

    • 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()

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

Spec-Zone.ru

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