Spec-Zone .ru
спецификации, руководства, описания, API
|
E
- тип элементов содержится в Спискеpublic abstract class ObservableListBase<E> extends java.util.AbstractList<E> implements ObservableList<E>
ObservableList
реализации. Основной class обеспечивает две функциональности для классов с реализацией. addListener
и removeListener
методы. fireChange(javafx.collections.ListChangeListener.Change)
метод обеспечивается для того, чтобы он уведомил слушателей с a 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
блоки в примере необходимы, только если есть возможность для исключения, чтобы произойти внутри a beginChange()
/ endChange()
блок Отметьте: Если Вы хотите создать поддающийся изменению ObservableList
реализация, рассмотреть использование ModifiableObservableListBase
как суперкласс.
Отметьте: Чтобы создать список с последовательным доступом, следует переопределить AbstractList.listIterator()
, AbstractList.iterator()
методы и используют их в AbstractList.get(int)
, AbstractCollection.size()
и другие методы соответственно.
ObservableList
, ListChangeListener.Change
, ModifiableObservableListBase
Конструктор и Описание |
---|
ObservableListBase() |
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
addAll(E... elements)
Удобный метод для добавления аргумента var элементов.
|
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, java.util.List<? extends E> removed)
Добавляет, что новое удаляет работу к изменению с многократными удаленными элементами.
|
protected void |
nextReplace(int from, int to, java.util.ArrayList<? extends E> removed)
Добавляет новая работа замены к изменению.
|
protected void |
nextSet(int idx, E old)
Добавляет новая операция присвоения к изменению.
|
protected void |
nextUpdate(int pos)
Добавляет новая работа обновления к изменению.
|
void |
remove(int from, int to)
В основном у ярлыка на подсписок (от, до).clear (), Поскольку это - общая работа, ObservableList, есть этот метод для удобного использования.
|
boolean |
removeAll(E... elements)
Удобный метод для использования аргумента var removaAll метода.
|
void |
removeListener(InvalidationListener listener)
Удаляет данного слушателя из списка слушателей, которые уведомляются всякий раз, когда значение
Observable становится недопустимым. |
void |
removeListener(ListChangeListener<? super E> listener)
Попытки к удаленному слушатель от этого заметного списка.
|
boolean |
retainAll(E... elements)
Удобный метод для использования аргумента var сохраняет метод.
|
boolean |
setAll(java.util.Collection<? extends E> col)
Очищает ObservableList, и добавьте все элементы от набора.
|
boolean |
setAll(E... elements)
Очищает ObservableList, и добавьте все элементы, которые передают как var-args.
|
add, add, addAll, clear, equals, get, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
filtered, sorted, sorted
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
public ObservableListBase()
protected final void nextUpdate(int pos)
Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
pos
- позиция в списке, где обновленный элемент находится.protected final void nextSet(int idx, E old)
nextRemove(idx); nextAdd(idx, idx + 1);
. Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
idx
- индексирование элемента, который был установленold
- старое значение в idx
позиция.protected final void nextReplace(int from, int to, java.util.ArrayList<? extends E> removed)
nextRemove(from, removed); nextAdd(from, to);
Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
from
- индексирование, где элементы были замененыto
- конец индексирует (монопольный) из диапазона, где новые элементы находятсяremoved
- список элементов, которые были удаленыprotected final void nextRemove(int idx, java.util.List<? extends E> removed)
Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
idx
- индексирование, куда элементы были удаленыremoved
- список элементов, которые были удаленыprotected final void nextRemove(int idx, E removed)
Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
idx
- индексирование, куда элемент был удаленremoved
- элемент, который был удаленprotected final void nextPermutation(int from, int to, int[] perm)
"i"
содержит индексирование, где элемент от индексирования "i"
был перемещен. Не необходимо обеспечить самую маленькую возможную перестановку. Это корректно, чтобы всегда вызвать этот метод с nextPermutation(0, size(), permutation);
Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
from
- отмечает начало (включительно) диапазона, который был permutatedto
- отмечает конец (монопольный) из диапазона, который был permutatedperm
- перестановка в том диапазоне. Даже если from != 0
, массив должен содержать индексирование списка. Поэтому, такая перестановка не содержала бы, индексирует диапазона (0, from)
protected final void nextAdd(int from, int to)
Отметьте: потребности, которые вызовут внутри beginChange()
/ endChange()
блок.
Отметьте: потребности отразить текущее состояние списка.
from
- отмечает начало (включительно) диапазона, который был добавленto
- отмечает конец (монопольный) из диапазона, который был добавленprotected final void beginChange()
next*
методы вызывают. Для каждого beginChange()
, должно быть соответствие endChange()
вызвать. beginChange()
вызовы могут быть вложены в a beginChange()
/endChange()
блок.
endChange()
protected final void endChange()
ObservableList
, Change
создается и все слушатели уведомляются. Окончание вложенного блока не запускает уведомление.
beginChange()
public final void addListener(InvalidationListener listener)
Observable
InvalidationListener
который будет уведомлен всякий раз, когда Observable
становится недопустимым. Если тот же самый слушатель будет добавлен не раз, то это будет уведомлено не раз. Таким образом, никакая проверка не осуществляется, чтобы гарантировать уникальность. Отметьте что фактическое то же самое InvalidationListener
экземпляр может быть безопасно зарегистрирован для различного Observables
.
Observable
хранит ссылку strong на слушателя, который будет препятствовать тому, чтобы слушатель был собран "мусор", и может привести к утечке памяти. Это рекомендуется любому нерегистру слушателя, вызывая removeListener
после использования или использовать экземпляр WeakInvalidationListener
избегите этой ситуации.
addListener
в интерфейсе Observable
listener
- Слушатель регистраObservable.removeListener(InvalidationListener)
public final void removeListener(InvalidationListener listener)
Observable
Observable
становится недопустимым. Если данный слушатель не был ранее зарегистрирован (то есть это никогда не добавлялось), тогда, этот вызов метода нет. Если это было ранее добавлено тогда, что это будет удалено. Если это было добавлено не раз, то только первое возникновение будет удалено.
removeListener
в интерфейсе Observable
listener
- Слушатель, чтобы удалитьObservable.addListener(InvalidationListener)
public final void addListener(ListChangeListener<? super E> listener)
ObservableList
addListener
в интерфейсе ObservableList<E>
listener
- слушатель для того, чтобы слушать изменения спискаpublic final void removeListener(ListChangeListener<? super E> listener)
ObservableList
removeListener
в интерфейсе ObservableList<E>
listener
- слушатель, чтобы удалитьprotected final void fireChange(ListChangeListener.Change<? extends E> change)
change
- protected final boolean hasListeners()
public boolean addAll(E... elements)
ObservableList
addAll
в интерфейсе ObservableList<E>
elements
- элементы, чтобы добавитьpublic boolean setAll(E... elements)
ObservableList
setAll
в интерфейсе ObservableList<E>
elements
- элементы, чтобы установитьpublic boolean setAll(java.util.Collection<? extends E> col)
ObservableList
setAll
в интерфейсе ObservableList<E>
col
- набор с элементами, которые будут добавлены к этому observableArrayListpublic boolean removeAll(E... elements)
ObservableList
removeAll
в интерфейсе ObservableList<E>
elements
- элементы, которые будут удаленыpublic boolean retainAll(E... elements)
ObservableList
retainAll
в интерфейсе ObservableList<E>
elements
- элементы, которые будут сохраненыpublic void remove(int from, int to)
ObservableList
remove
в интерфейсе ObservableList<E>
from
- запуск диапазона, чтобы удалить (включительно)to
- конец диапазона, чтобы удалить (монопольный)Copyright (c) 2008, 2013, Oracle и/или его филиалы. Все права защищены. Использование подвергается