Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.base
Пакет 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. Существуют различные методы, такие как 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().
    boolean removeAll​(E... elements)
    Удобный метод для использования var-arg с методом removeAll.
    void removeListener​(InvalidationListener listener)
    Удаляет указанного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение Observable становится недействительным.
    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.collections.ObservableList

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

    • 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 - индекс элемента, который был изменён
      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)
    • Установить все

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

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

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

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

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