Класс 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)

Используется для проверки, можно ли добавить определённый набор TreePath.

protected boolean canPathsBeRemoved​(TreePath[] paths)

Возвращает true, если пути можно удалить без нарушения непрерывности модели.

void clearSelection()

Очищает текущее выделение.

Object clone()

Возвращает клонированную копию этого объекта с тем же выделением.

protected void fireValueChanged​(TreeSelectionEvent e)

Уведомляет всех зарегистрированных слушателей о событиях выбора в дереве на этом объекте.

TreePath getLeadSelectionPath()

Возвращает последний добавленный путь.

int getLeadSelectionRow()

Возвращает индекс ведущего выделения.

<T extends EventListener>
T[]
getListeners​(Class<T> listenerType)

Возвращает массив всех объектов, зарегистрированных как FooListener в этой модели.

int getMaxSelectionRow()

Возвращает максимальное значение, полученное от RowMapper для текущего набора выбранных TreePaths.

int getMinSelectionRow()

Возвращает минимальное значение, полученное от RowMapper для текущего набора выбранных TreePaths.

PropertyChangeListener[] getPropertyChangeListeners()

Возвращает массив всех слушателей изменений свойств, зарегистрированных на этом DefaultTreeSelectionModel.

RowMapper getRowMapper()

Возвращает экземпляр RowMapper, который может сопоставить TreePath со строкой.

int getSelectionCount()

Возвращает количество выбранных путей.

int getSelectionMode()

Возвращает режим выбора, один из SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION.

TreePath getSelectionPath()

Возвращает первый путь в выделении.

TreePath[] getSelectionPaths()

Возвращает выделение.

int[] getSelectionRows()

Возвращает выделение в терминах строк.

TreeSelectionListener[] getTreeSelectionListeners()

Возвращает массив всех слушателей событий выбора в дереве, зарегистрированных в этой модели.

protected void insureRowContinuity()

Убеждается, что текущие выделенные TreePath соответствуют текущему режиму выбора.

protected void insureUniqueness()

Этот метод устарел и его реализация теперь является пустой операцией.

boolean isPathSelected​(TreePath path)

Возвращает true, если путь, path, находится в текущем выделении.

boolean isRowSelected​(int row)

Возвращает true, если строка, определённая row, выбрана.

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
Параметры:
newMapper - устанавливаемый RowMapper

getRowMapper

public RowMapper getRowMapper()

Возвращает экземпляр RowMapper, который может сопоставлять TreePath со строкой.

Указано в:
getRowMapper в интерфейсе TreeSelectionModel
Возвращает:
экземпляр RowMapper, который может сопоставлять TreePath со строкой

setSelectionMode

public void setSelectionMode(int mode)

Устанавливает модель выделения, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. Если режим не является одним из определённых значений, используется DISCONTIGUOUS_TREE_SELECTION.

Это может изменить выделение, если текущее выделение недействительно для нового режима. Например, если выделены три TreePath, а режим изменён на SINGLE_TREE_SELECTION, будет оставлена только одна TreePath. Конкретная реализация решает, какая TreePath остаётся выделенной.

Установка режима на значение, отличное от определённых типов, приведёт к тому, что режим станет DISCONTIGUOUS_TREE_SELECTION.

Указано в:
setSelectionMode в интерфейсе TreeSelectionModel
Параметры:
mode - устанавливаемый режим выделения

getSelectionMode

public int getSelectionMode()

Возвращает режим выделения, один из SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION.

Указано в:
getSelectionMode в интерфейсе TreeSelectionModel
Возвращает:
текущий режим выделения

setSelectionPath

public void setSelectionPath(TreePath path)

Устанавливает выделение на путь 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)

Добавляет путь path к текущему выделению. Если путь 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)

Удаляет путь path из выделения. Если путь 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
Параметры:
path - путь, который нужно найти
Возвращает:
является ли path частью текущего выделения

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

Возвращает массив всех зарегистрированных слушателей событий выбора дерева в этой модели.

Возвращает:
все слушатели данной модели или пустой массив, если слушатели не зарегистрированы
С:
1.4
См. также:
addTreeSelectionListener(javax.swing.event.TreeSelectionListener), removeTreeSelectionListener(javax.swing.event.TreeSelectionListener)

fireValueChanged

protected void fireValueChanged(TreeSelectionEvent e)

Уведомляет всех зарегистрированных слушателей событий выбора дерева об этом объекте.

Параметры:
e - событие, которое описывает изменение
См. также:
addTreeSelectionListener(javax.swing.event.TreeSelectionListener), EventListenerList

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)

Возвращает массив всех объектов, зарегистрированных как FooListener в данной модели. FooListener регистрируются с помощью метода addFooListener .

Вы можете указать аргумент listenerType с литералом класса, таким как FooListener.class. Например, вы можете запросить у DefaultTreeSelectionModel m его слушателей событий выбора дерева с помощью следующего кода:

TreeSelectionListener[] tsls = (TreeSelectionListener[])(m.getListeners(TreeSelectionListener.class));
Если таких слушателей нет, этот метод возвращает пустой массив.
Параметры типа:
T - тип слушателя
Параметры:
listenerType - тип запрашиваемых слушателей
Возвращает:
массив всех объектов, зарегистрированных как FooListener в данном компоненте, или пустой массив, если такие слушатели не были добавлены
Исключения:
ClassCastException - если listenerType не указывает класс или интерфейс, реализующий java.util.EventListener
С:
1.3
См. также:
getTreeSelectionListeners(), getPropertyChangeListeners()

getSelectionRows

public int[] getSelectionRows()

Возвращает выбор в терминах строк. Не обязательно существует взаимно однозначное соответствие между TreePath возвращаемыми из getSelectionPaths и этим методом. В частности, если TreePath не отображается (метод RowMapper возвращает -1 для строки, соответствующей TreePath ), то соответствующая строка не включается в возвращаемый массив. Например, если выбор состоит из двух путей, A и B, где A находится в строке 10, и B в данный момент не отображается, то этот метод возвращает массив с единственным элементом 10.

Указано в:
getSelectionRows в интерфейсе TreeSelectionModel
Возвращает:
выбор в терминах строк

getMinSelectionRow

public int getMinSelectionRow()

Возвращает наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. Если ничего не выбрано или RowMapper отсутствует, возвращает -1.

Указано в:
getMinSelectionRow в интерфейсе TreeSelectionModel
Возвращает:
наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths

getMaxSelectionRow

public int getMaxSelectionRow()

Возвращает наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. Если ничего не выбрано или RowMapper отсутствует, возвращает -1.

Указано в:
getMaxSelectionRow в интерфейсе TreeSelectionModel
Возвращает:
наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths

isRowSelected

public boolean isRowSelected(int row)

Возвращает true, если строка, идентифицированная по row, выбрана.

Указано в:
isRowSelected в интерфейсе TreeSelectionModel
Параметры:
row - строка для проверки
Возвращает:
выбрана ли строка

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.

Возвращает:
все слушатели изменений свойств этой модели или пустой массив, если слушатели изменений свойств не зарегистрированы
Since:
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.

Параметры:
paths - массив путей для проверки
Возвращает:
являются ли пути непрерывными или у этого объекта нет RowMapper

canPathsBeAdded

protected boolean canPathsBeAdded(TreePath[] paths)

Используется для проверки, можно ли добавить определенный набор TreePaths. Возвращает true, если paths null (или пустой), или у этого объекта нет RowMapper, или ничего не выбрано, или режим выбора - DISCONTIGUOUS_TREE_SELECTION, или добавление путей к текущему выбору по-прежнему приводит к непрерывному набору TreePaths.

Параметры:
paths - массив TreePaths для проверки
Возвращает:
можно ли добавить определенный набор TreePaths

canPathsBeRemoved

protected boolean canPathsBeRemoved(TreePath[] paths)

Возвращает true, если пути могут быть удалены без нарушения непрерывности модели. Это довольно дорого.

Параметры:
paths - массив TreePath для проверки
Возвращает:
можно ли удалить пути без нарушения непрерывности модели

notifyPathChange

@Deprecated
protected void notifyPathChange(Vector<?> changedPaths,
                                TreePath oldLeadSelection)
Устарело.
Начиная с версии JDK 1.7

Уведомляет слушателей об изменении пути. changePaths должен содержать экземпляры PathPlaceHolder.

Параметры:
changedPaths - вектор измененных путей
oldLeadSelection - старый путь выбора

updateLeadIndex

protected void updateLeadIndex()

Обновляет переменную-член leadIndex.

insureUniqueness

protected void insureUniqueness()

Этот метод устарел и его реализация теперь является пустой операцией. Он все еще вызывается в setSelectionPaths и addSelectionPaths, но только для обратной совместимости.

toString

public String toString()

Возвращает строку, отображающую и идентифицирующую свойства этого объекта.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого объекта

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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/tree/DefaultTreeSelectionModel.html

Spec-Zone .ru
спецификации, руководства, описания, API