Класс DefaultTreeSelectionModel
- java.lang.Object
-
- javax.swing.tree.DefaultTreeSelectionModel
- Все реализованные интерфейсы:
- Serializable, Cloneable, TreeSelectionModel
- Прямые известные подклассы:
- JTree.EmptySelectionModel
public class DefaultTreeSelectionModel extends Object implements Cloneable, Serializable, TreeSelectionModel
Реализация по умолчанию для TreeSelectionModel. Слушатели уведомляются всякий раз, когда изменяются пути в выделении, а не строки. Чтобы отслеживать изменения строк, вы можете стать слушателем событий расширения дерева и проверять изменения оттуда.
resetRowSelection вызывается из любого метода, обновляющего выбранные пути. Если вы создаёте подкласс любого из этих методов для фильтрации разрешённого выделения, убедитесь, что вы вызываете resetRowSelection если не вызываете super. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
- См. также:
JTree
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected SwingPropertyChangeSupport |
changeSupport Используется для отправки сообщений зарегистрированным слушателям. |
protected int |
leadIndex Индекс ведущего пути в выделении. |
protected TreePath |
leadPath Последний добавленный путь. |
protected int |
leadRow Ведущая строка. |
protected EventListenerList |
listenerList Список слушателей событий. |
protected DefaultListSelectionModel |
listSelectionModel Обрабатывает поддержание модели выделения списка. |
protected RowMapper |
rowMapper Предоставляет строку для заданного пути. |
protected TreePath[] |
selection Пути, которые в настоящее время выбраны. |
static String |
SELECTION_MODE_PROPERTY Имя свойства для selectionMode. |
protected int |
selectionMode Режим выделения, может быть SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
Поля, унаследованные от интерфейса javax.swing.tree.TreeSelectionModel
CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION Краткое описание конструкторов
| Конструктор и описание |
|---|
DefaultTreeSelectionModel() Создаёт новый экземпляр DefaultTreeSelectionModel, пустой, с режимом выделения DISCONTIGUOUS_TREE_SELECTION. |
Краткое описание методов
| Модификатор и тип | Метод и описание |
|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener) Добавляет PropertyChangeListener в список слушателей. |
void |
addSelectionPath(TreePath path) Добавляет путь к текущему выделению. |
void |
addSelectionPaths(TreePath[] paths) Добавляет пути к текущему выделению. |
void |
addTreeSelectionListener(TreeSelectionListener x) Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths. |
protected boolean |
arePathsContiguous(TreePath[] paths) Возвращает true, если пути являются смежными, или у этого объекта нет RowMapper. |
protected boolean |
canPathsBeAdded(TreePath[] paths) Используется для проверки, может ли быть добавлен определённый набор |
protected boolean |
canPathsBeRemoved(TreePath[] paths) Возвращает true, если пути могут быть удалены без нарушения непрерывности модели. |
void |
clearSelection() Очищает текущее выделение. |
Object |
clone() Возвращает клонированную копию этого объекта с таким же выделением. |
protected void |
fireValueChanged(TreeSelectionEvent e) Уведомляет всех зарегистрированных слушателей о событиях выделения дерева на этом объекте. |
TreePath |
getLeadSelectionPath() Возвращает последний добавленный путь. |
int |
getLeadSelectionRow() Возвращает индекс ведущего выделения. |
<T extends EventListener> |
getListeners(Class<T> listenerType) Возвращает массив всех объектов, зарегистрированных как |
int |
getMaxSelectionRow() Возвращает наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. |
int |
getMinSelectionRow() Возвращает наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. |
PropertyChangeListener[] |
getPropertyChangeListeners() Возвращает массив всех слушателей изменений свойств, зарегистрированных на этом |
RowMapper |
getRowMapper() Возвращает экземпляр RowMapper, который может сопоставить TreePath со строкой. |
int |
getSelectionCount() Возвращает количество выбранных путей. |
int |
getSelectionMode() Возвращает режим выделения, один из |
TreePath |
getSelectionPath() Возвращает первый путь в выделении. |
TreePath[] |
getSelectionPaths() Возвращает выделение. |
int[] |
getSelectionRows() Возвращает выделение в терминах строк. |
TreeSelectionListener[] |
getTreeSelectionListeners() Возвращает массив всех слушателей выделения дерева, зарегистрированных в этой модели. |
protected void |
insureRowContinuity() Убеждается, что текущие выбранные |
protected void |
insureUniqueness() Этот метод устарел и его реализация теперь является пустой операцией. |
boolean |
isPathSelected(TreePath path) Возвращает true, если путь |
boolean |
isRowSelected(int row) Возвращает true, если строка, обозначенная |
boolean |
isSelectionEmpty() Возвращает true, если выделение пустое. |
protected void |
notifyPathChange(Vector<?> changedPaths,
TreePath oldLeadSelection) Устарело. Начиная с JDK версии 1.7 |
void |
removePropertyChangeListener(PropertyChangeListener listener) Удаляет PropertyChangeListener из списка слушателей. |
void |
removeSelectionPath(TreePath path) Удаляет путь из выделения. |
void |
removeSelectionPaths(TreePath[] paths) Удаляет пути из выделения. |
void |
removeTreeSelectionListener(TreeSelectionListener x) Удаляет x из списка слушателей, уведомляемых каждый раз при изменении набора выбранных TreePaths. |
void |
resetRowSelection() Обновляет сопоставление от TreePath к строкам в этом объекте. |
void |
setRowMapper(RowMapper newMapper) Устанавливает экземпляр RowMapper. |
void |
setSelectionMode(int mode) Устанавливает режим выделения, который должен быть одним из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
void |
setSelectionPath(TreePath path) Устанавливает выделение на путь. |
void |
setSelectionPaths(TreePath[] pPaths) Устанавливает выделение. |
String |
toString() Возвращает строку, отображающую и идентифицирующую свойства этого объекта. |
protected void |
updateLeadIndex() Обновляет переменную leadIndex. |
Методы, унаследованные от класса java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
SELECTION_MODE_PROPERTY
public static final String SELECTION_MODE_PROPERTY
Имя свойства для selectionMode.
- См. также:
- Значения константных полей
changeSupport
protected SwingPropertyChangeSupport changeSupport
Используется для отправки сообщений зарегистрированным слушателям.
selection
protected TreePath[] selection
Пути, которые в данный момент выбраны. Будет равно null, если ничего не выбрано.
listenerList
protected EventListenerList listenerList
Список слушателей событий.
rowMapper
protected transient RowMapper rowMapper
Предоставляет строку для заданного пути.
listSelectionModel
protected DefaultListSelectionModel listSelectionModel
Обрабатывает поддержание модели выбора списка. RowMapper используется для сопоставления TreePath со строкой, а значение затем помещается сюда.
selectionMode
protected int selectionMode
Режим выбора, будет либо SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION, либо DISCONTIGUOUS_TREE_SELECTION.
leadPath
protected TreePath leadPath
Последний добавленный путь.
leadIndex
protected int leadIndex
Индекс ведущего пути в выборе.
leadRow
protected int leadRow
Ведущая строка.
Конструкторы
DefaultTreeSelectionModel
public DefaultTreeSelectionModel()
Создает новый экземпляр DefaultTreeSelectionModel, который пустой, с режимом выбора DISCONTIGUOUS_TREE_SELECTION.
Методы
setRowMapper
public void setRowMapper(RowMapper newMapper)
Устанавливает экземпляр RowMapper. Этот экземпляр используется для определения строки для конкретного TreePath.
- Указано в:
-
setRowMapperв интерфейсеTreeSelectionModel
getRowMapper
public RowMapper getRowMapper()
Возвращает экземпляр RowMapper, который может сопоставить TreePath со строкой.
- Указано в:
-
getRowMapperв интерфейсеTreeSelectionModel
setSelectionMode
public void setSelectionMode(int mode)
Устанавливает модель выбора, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. Если режим не соответствует одному из определенных значений, предполагается DISCONTIGUOUS_TREE_SELECTION.
Это может изменить выбор, если текущий выбор не подходит для нового режима. Например, если выбраны три TreePaths, когда режим изменяется на SINGLE_TREE_SELECTION, останется только один TreePath. Реализация должна определить, какой TreePath остается выбранным.
Установка режима на значение, отличное от определенных типов, приведет к тому, что режим станет DISCONTIGUOUS_TREE_SELECTION.
- Указано в:
-
setSelectionModeв интерфейсеTreeSelectionModel
getSelectionMode
public int getSelectionMode()
Возвращает режим выбора, один из SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION.
- Указано в:
-
getSelectionModeв интерфейсеTreeSelectionModel
setSelectionPath
public void setSelectionPath(TreePath path)
Устанавливает выделение на путь. Если это представляет собой изменение, то уведомляются TreeSelectionListeners. Если path равно null, это эквивалентно вызову clearSelection.
- Указано в:
-
setSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- новый путь для выбора
setSelectionPaths
public void setSelectionPaths(TreePath[] pPaths)
Устанавливает выделение. Будут ли предоставленные пути приняты в качестве нового выбора, зависит от режима выбора. Если предоставленный массив null, или пустой, то выделение очищается. Если режим выбора SINGLE_TREE_SELECTION, используется только первый путь в pPaths. Если режим выбора CONTIGUOUS_TREE_SELECTION и предоставленные пути не непрерывны, то используется только первый путь в pPaths. Если режим выбора DISCONTIGUOUS_TREE_SELECTION, используются все пути.
Все null пути в pPaths игнорируются.
Если это представляет собой изменение, все зарегистрированные TreeSelectionListener уведомляются.
Ведущий путь устанавливается на последний уникальный путь.
Пути, возвращаемые из getSelectionPaths, расположены в том же порядке, что и те, которые были переданы в этот метод.
- Указано в:
-
setSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
pPaths- новый выбор
addSelectionPath
public void addSelectionPath(TreePath path)
Добавляет путь к текущему выбору. Если путь не находится в текущем выборе, уведомляются TreeSelectionListeners. Это не имеет эффекта, если path равно null.
- Указано в:
-
addSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- новый путь для добавления в текущий выбор
addSelectionPaths
public void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору. Если какой-либо из путей в paths не находится в текущем выборе, уведомляются TreeSelectionListeners. Это не имеет эффекта, если paths равно null.
Ведущий путь устанавливается на последний элемент в paths.
Если режим выбора CONTIGUOUS_TREE_SELECTION, и добавление новых путей сделает выбор несмежным. Тогда могут произойти два события: если TreePaths в paths смежны, то выбор становится этими TreePaths, в противном случае TreePaths не смежные и выбор становится первым TreePath в paths.
- Указано в:
-
addSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
paths- новый путь для добавления в текущий выбор
removeSelectionPath
public void removeSelectionPath(TreePath path)
Удаляет путь из выбора. Если путь находится в выборе, уведомляются TreeSelectionListeners. Это не имеет эффекта, если path равно null.
- Указано в:
-
removeSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- путь для удаления из выбора
removeSelectionPaths
public void removeSelectionPaths(TreePath[] paths)
Удаляет пути из выбора. Если какой-либо из путей в paths находится в выборе, уведомляются TreeSelectionListeners. Это не имеет эффекта, если paths равно null.
- Указано в:
-
removeSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
paths- пути для удаления из выбора
getSelectionPath
public TreePath getSelectionPath()
Возвращает первый путь в выборе. Это полезно, если в данный момент выбран только один элемент.
- Указано в:
-
getSelectionPathв интерфейсеTreeSelectionModel
getSelectionPaths
public TreePath[] getSelectionPaths()
Возвращает выбор.
- Указано в:
-
getSelectionPathsв интерфейсеTreeSelectionModel - Возвращает:
- выбор
getSelectionCount
public int getSelectionCount()
Возвращает количество выбранных путей.
- Указано в:
-
getSelectionCountв интерфейсеTreeSelectionModel
isPathSelected
public boolean isPathSelected(TreePath path)
Возвращает true, если путь, path, находится в текущем выборе.
- Указано в:
-
isPathSelectedв интерфейсеTreeSelectionModel
isSelectionEmpty
public boolean isSelectionEmpty()
Возвращает true, если выбор в данный момент пуст.
- Указано в:
-
isSelectionEmptyв интерфейсеTreeSelectionModel
clearSelection
public void clearSelection()
Очищает текущий выбор. Если это представляет собой изменение текущего выбора, уведомляются слушатели выбора.
- Указано в:
-
clearSelectionв интерфейсеTreeSelectionModel
addTreeSelectionListener
public void addTreeSelectionListener(TreeSelectionListener x)
Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выделенных TreePaths.
- Указано в:
-
addTreeSelectionListenerв интерфейсеTreeSelectionModel - Параметры:
-
x- новый слушатель для добавления
removeTreeSelectionListener
public void removeTreeSelectionListener(TreeSelectionListener x)
Удаляет x из списка слушателей, которые уведомляются каждый раз, когда изменяется набор выделенных TreePaths.
- Указано в:
-
removeTreeSelectionListenerв интерфейсеTreeSelectionModel - Параметры:
-
x- слушатель для удаления
getTreeSelectionListeners
public TreeSelectionListener[] getTreeSelectionListeners()
Возвращает массив всех зарегистрированных слушателей событий выбора дерева в этой модели.
- Возвращает:
- все слушатели
TreeSelectionListenerмодели или пустой массив, если слушатели событий выбора дерева не зарегистрированы - С:
- 1.4
- См. также:
-
addTreeSelectionListener(javax.swing.event.TreeSelectionListener),removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)
fireValueChanged
protected void fireValueChanged(TreeSelectionEvent e)
Уведомляет всех слушателей, зарегистрированных для событий выбора дерева на этом объекте.
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в данный момент зарегистрированных как FooListeners в этой модели. FooListeners регистрируются с помощью метода addFooListener.
Вы можете указать аргумент listenerType с помощью литерала класса, например FooListener.class. Например, вы можете запросить слушателей выбора дерева у DefaultTreeSelectionModel m следующим кодом:
TreeSelectionListener[] tsls = (TreeSelectionListener[])(m.getListeners(TreeSelectionListener.class));Если такие слушатели отсутствуют, этот метод возвращает пустой массив.
- Параметры:
-
listenerType- тип запрашиваемых слушателей; этот параметр должен указать интерфейс, наследуемый отjava.util.EventListener - Возвращает:
- массив всех объектов, зарегистрированных как
FooListeners в этом компоненте, или пустой массив, если такие слушатели не были добавлены - Исключения:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - С:
- 1.3
- См. также:
-
getTreeSelectionListeners(),getPropertyChangeListeners()
getSelectionRows
public int[] getSelectionRows()
Возвращает выбор в терминах строк. Не обязательно существует взаимно однозначное соответствие между TreePaths, возвращаемыми getSelectionPaths, и этим методом. В частности, если TreePath не отображается (RowMapper возвращает -1 для строки, соответствующей TreePath), то соответствующая строка не включается в возвращаемый массив. Например, если выбор состоит из двух путей, A и B, где A находится в строке 10, а B в данный момент не отображается, то этот метод возвращает массив с единственным элементом 10.
- Унаследовано от:
-
getSelectionRowsв интерфейсеTreeSelectionModel - Возвращает:
- выбор в терминах строк
getMinSelectionRow
public int getMinSelectionRow()
Возвращает наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. Если ничего не выбрано или RowMapper отсутствует, возвращается -1.
- Унаследовано от:
-
getMinSelectionRowв интерфейсеTreeSelectionModel
getMaxSelectionRow
public int getMaxSelectionRow()
Возвращает наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. Если ничего не выбрано или RowMapper отсутствует, возвращается -1.
- Унаследовано от:
-
getMaxSelectionRowв интерфейсеTreeSelectionModel
isRowSelected
public boolean isRowSelected(int row)
Возвращает true, если строка, идентифицированная row, выбрана.
- Унаследовано от:
-
isRowSelectedв интерфейсеTreeSelectionModel
resetRowSelection
public void resetRowSelection()
Обновляет отображение этого объекта от TreePath к строкам. Это необходимо вызывать, когда отображение TreePaths на целые числа изменилось (например, узел был развернут).
Вам обычно не нужно вызывать это; JTree и его связанные слушатели вызовут это за вас. Если вы реализуете собственный класс View, вам придется вызывать это.
Это вызовет insureRowContinuity для проверки того, что текущие выбранные TreePaths по-прежнему действительны на основе режима выбора.
- Унаследовано от:
-
resetRowSelectionв интерфейсеTreeSelectionModel
getLeadSelectionRow
public int getLeadSelectionRow()
Возвращает индекс ведущего выбора. Это последний добавленный индекс.
- Унаследовано от:
-
getLeadSelectionRowв интерфейсеTreeSelectionModel
getLeadSelectionPath
public TreePath getLeadSelectionPath()
Возвращает последний добавленный путь. Он может отличаться от свойства leadSelectionPath, поддерживаемого JTree.
- Унаследовано от:
-
getLeadSelectionPathв интерфейсеTreeSelectionModel
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех свойств.
Событие PropertyChangeEvent будет генерироваться при изменении режима выбора.
- Унаследовано от:
-
addPropertyChangeListenerв интерфейсеTreeSelectionModel - Параметры:
-
listener- добавляемый PropertyChangeListener
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей. Это удаляет PropertyChangeListener, зарегистрированный для всех свойств.
- Унаследовано от:
-
removePropertyChangeListenerв интерфейсеTreeSelectionModel - Параметры:
-
listener- удаляемый PropertyChangeListener
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
Возвращает массив всех слушателей изменения свойств, зарегистрированных в этом DefaultTreeSelectionModel.
- Возвращает:
- все слушатели изменения свойств этой модели или пустой массив, если слушатели изменения свойств не зарегистрированы
- С:
- 1.4
- См. также:
-
addPropertyChangeListener(java.beans.PropertyChangeListener),removePropertyChangeListener(java.beans.PropertyChangeListener)
insureRowContinuity
protected void insureRowContinuity()
Обеспечивает, что текущие выбранные TreePaths действительны для текущего режима выбора. Если режим выбора CONTIGUOUS_TREE_SELECTION и существует RowMapper , это гарантирует, что все строки будут непрерывными, то есть при сортировке все строки будут упорядочены без пробелов. Если выбор не непрерывен, выбор сбрасывается до содержащего первую сортированную группу непрерывных строк.
Если режим выбора SINGLE_TREE_SELECTION и выбрано более одного TreePath, выбор сбрасывается до содержащего первый текущий выбранный путь.
arePathsContiguous
protected boolean arePathsContiguous(TreePath[] paths)
Возвращает true, если пути непрерывны, или у этого объекта нет RowMapper.
canPathsBeAdded
protected boolean canPathsBeAdded(TreePath[] paths)
Используется для проверки возможности добавления набора TreePaths. Возвращает true, если paths null (или пуст), или у этого объекта нет RowMapper, или ничего не выбрано, или режим выбора DISCONTIGUOUS_TREE_SELECTION, или добавление путей к текущему выбору по-прежнему приводит к непрерывному набору TreePaths.
canPathsBeRemoved
protected boolean canPathsBeRemoved(TreePath[] paths)
Возвращает true, если пути можно удалить без нарушения непрерывности модели. Это довольно дорогостоящая операция.
notifyPathChange
@Deprecated
protected void notifyPathChange(Vector<?> changedPaths,
TreePath oldLeadSelection) Устарело. Начиная с JDK версии 1.7
Уведомляет слушателей об изменении пути. changePaths должен содержать экземпляры PathPlaceHolder.
updateLeadIndex
protected void updateLeadIndex()
Обновляет переменную leadIndex.
insureUniqueness
protected void insureUniqueness()
Этот метод устарел, и его реализация теперь является пустой операцией. Он всё ещё вызывается setSelectionPaths и addSelectionPaths, но только для обратной совместимости.
toString
public String toString()
Возвращает строку, отображающую и идентифицирующую свойства этого объекта.
clone
public Object clone()
throws CloneNotSupportedException Возвращает копию этого объекта с тем же выбором. Этот метод не дублирует слушателей выбора и слушателей свойств.
- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого экземпляра.
- Исключения:
-
CloneNotSupportedException- никогда не выбрасывается экземплярами этого класса - См. также:
Cloneable
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.