Класс 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 - Параметры:
-
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) Уведомляет слушателей об изменении пути. changePaths должен содержать экземпляры PathPlaceHolder.
- Параметры:
changedPaths- вектор измененных путейoldLeadSelection- старый путь выбора
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/tree/DefaultTreeSelectionModel.html