Класс DefaultTreeSelectionModel
- Все реализуемые интерфейсы:
-
Serializable,Cloneable,TreeSelectionModel
- Непосредственные подклассы:
JTree.EmptySelectionModel
public class DefaultTreeSelectionModel extends Object implements Cloneable, Serializable, TreeSelectionModel
resetRowSelection вызывается из любых методов, обновляющих выделенные пути. Если вы создаёте подкласс любого из этих методов для фильтрации разрешённого выделения, обязательно вызовите resetRowSelection, если не вызываете super. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими ту же версию Swing. Начиная с версии 1.4, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. См. XMLEncoder.
- См. также:
Краткое описание полей
| Modifier and Type | Field | Description |
|---|---|---|
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 final 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. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
void |
addSelectionPath |
Добавляет путь к текущему выбору. |
void |
addSelectionPaths |
Добавляет пути к текущему выбору. |
void |
addTreeSelectionListener |
Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths. |
protected boolean |
arePathsContiguous |
Возвращает true, если пути непрерывны, или у этого объекта нет RowMapper. |
protected boolean |
canPathsBeAdded |
Используется для проверки, можно ли добавить определенный набор TreePath. |
protected boolean |
canPathsBeRemoved |
Возвращает true, если пути можно удалить без нарушения непрерывности модели. |
void |
clearSelection() |
Очищает текущий выбор. |
Object |
clone() |
Возвращает клонированный экземпляр этого объекта с тем же выбором. |
protected void |
fireValueChanged |
Уведомляет всех слушателей, зарегистрированных для событий выбора дерева в этом объекте. |
TreePath |
getLeadSelectionPath() |
Возвращает последний добавленный путь. |
int |
getLeadSelectionRow() |
Возвращает индекс ведущего выбора. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, в настоящее время зарегистрированных в качестве 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() |
Этот метод устарел и его реализация теперь является noop. |
boolean |
isPathSelected |
Возвращает true, если путь, path, находится в текущем выборе. |
boolean |
isRowSelected |
Возвращает true, если строка, идентифицируемая по row, выбрана. |
boolean |
isSelectionEmpty() |
Возвращает true, если выбор в настоящее время пуст. |
protected void |
notifyPathChange |
Устарело. Начиная с версии JDK 1.7 |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка слушателей. |
void |
removeSelectionPath |
Удаляет путь из выбора. |
void |
removeSelectionPaths |
Удаляет пути из выбора. |
void |
removeTreeSelectionListener |
Удаляет x из списка слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths. |
void |
resetRowSelection() |
Обновляет сопоставление этого объекта из TreePath в строки. |
void |
setRowMapper |
Устанавливает экземпляр RowMapper. |
void |
setSelectionMode |
Устанавливает модель выбора, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
void |
setSelectionPath |
Устанавливает выбор на путь. |
void |
setSelectionPaths |
Устанавливает выбор. |
String |
toString() |
Возвращает строку, которая отображает и идентифицирует свойства этого объекта. |
protected void |
updateLeadIndex() |
Обновляет переменную leadIndex. |
Подробное описание полей
SELECTION_MODE_PROPERTY
public static final String SELECTION_MODE_PROPERTY
- См. также:
changeSupport
protected SwingPropertyChangeSupport changeSupport
selection
protected TreePath[] selection
listenerList
protected EventListenerList listenerList
rowMapper
protected transient RowMapper rowMapper
listSelectionModel
protected DefaultListSelectionModel listSelectionModel
selectionMode
protected int selectionMode
leadPath
protected TreePath leadPath
leadIndex
protected int leadIndex
leadRow
protected int leadRow
Подробное описание конструкторов
DefaultTreeSelectionModel
public DefaultTreeSelectionModel()
Подробное описание методов
setRowMapper
public void setRowMapper(RowMapper newMapper)
- Указано в:
-
setRowMapperв интерфейсеTreeSelectionModel - Параметры:
-
newMapper- устанавливаемый RowMapper
getRowMapper
public RowMapper getRowMapper()
- Указано в:
-
getRowMapperв интерфейсеTreeSelectionModel - Возвращает:
- экземпляр RowMapper, который может сопоставить TreePath со строкой
setSelectionMode
public void setSelectionMode(int mode)
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 равно 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 равно null.- Указано в:
-
addSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- новый путь для добавления в текущий выбор
addSelectionPaths
public void addSelectionPaths(TreePath[] paths)
paths равно null. Ведущий путь устанавливается на последний элемент в paths.
Если режим выбора CONTIGUOUS_TREE_SELECTION, и добавление новых путей сделает выбор несмежным. Тогда могут произойти два события: если TreePaths в paths смежные, выбор станет этими TreePaths, в противном случае TreePaths не смежные и выбор станет первым TreePath в paths.
- Указано в:
-
addSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
paths- новый путь для добавления в текущий выбор
removeSelectionPath
public void removeSelectionPath(TreePath path)
path равно null.- Указано в:
-
removeSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- путь для удаления из выбора
removeSelectionPaths
public void removeSelectionPaths(TreePath[] paths)
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)
path, находится в текущем выделении.- Specified by:
-
isPathSelectedin interfaceTreeSelectionModel - Parameters:
-
path- путь, который нужно найти - Returns:
- является ли
pathчастью текущего выделения
isSelectionEmpty
public boolean isSelectionEmpty()
- Specified by:
-
isSelectionEmptyin interfaceTreeSelectionModel - Returns:
- является ли выделение в настоящее время пустым
clearSelection
public void clearSelection()
- Specified by:
-
clearSelectionin interfaceTreeSelectionModel
addTreeSelectionListener
public void addTreeSelectionListener(TreeSelectionListener x)
- Specified by:
-
addTreeSelectionListenerin interfaceTreeSelectionModel - Parameters:
-
x- новый слушатель, который нужно добавить
removeTreeSelectionListener
public void removeTreeSelectionListener(TreeSelectionListener x)
- Specified by:
-
removeTreeSelectionListenerin interfaceTreeSelectionModel - Parameters:
-
x- слушатель для удаления
getTreeSelectionListeners
public TreeSelectionListener[] getTreeSelectionListeners()
- Returns:
- все слушатели
TreeSelectionListenerэтой модели или пустой массив, если слушатели выделения дерева не зарегистрированы - Since:
- 1.4
- See Also:
fireValueChanged
protected void fireValueChanged(TreeSelectionEvent e)
- Parameters:
-
e- событие, которое характеризует изменение - See Also:
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));Если такие слушатели отсутствуют, этот метод возвращает пустой массив.
- Type Parameters:
T- тип слушателя- Parameters:
-
listenerType- тип запрашиваемых слушателей - Returns:
- массив всех объектов, зарегистрированных как
FooListenerв этом компоненте, или пустой массив, если такие слушатели не добавлены - Throws:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - Since:
- 1.3
- See Also:
getSelectionRows
public int[] getSelectionRows()
TreePath, возвращаемыми методом getSelectionPaths, и этим методом. В частности, если TreePath не отображается (метод
RowMapper возвращает -1 для строки, соответствующей TreePath), то соответствующая строка не включается в возвращаемый массив. Например, если выделение состоит из двух путей, A и B, с A в строке 10, и B в данный момент не отображается, то этот метод возвращает массив с единственным элементом 10.- Specified by:
-
getSelectionRowsin interfaceTreeSelectionModel - Returns:
- выделение в терминах строк
getMinSelectionRow
public int getMinSelectionRow()
- Specified by:
-
getMinSelectionRowin interfaceTreeSelectionModel - Returns:
- наименьшее значение, полученное из RowMapper для текущего набора выделенных TreePaths
getMaxSelectionRow
public int getMaxSelectionRow()
- Specified by:
-
getMaxSelectionRowin interfaceTreeSelectionModel - Returns:
- наибольшее значение, полученное из RowMapper для текущего набора выделенных TreePaths
isRowSelected
public boolean isRowSelected(int row)
row, выделена.- Specified by:
-
isRowSelectedin interfaceTreeSelectionModel - Parameters:
-
row- строка для проверки - Returns:
- выделена ли строка
resetRowSelection
public void resetRowSelection()
Обычно вам не нужно вызывать это. JTree и связанные с ним слушатели вызовут это за вас. Если вы реализуете свой собственный класс View, то вам нужно будет вызвать это.
Это вызовет insureRowContinuity, чтобы убедиться, что текущие выделенные TreePaths по-прежнему действительны в соответствии с режимом выбора.
- Specified by:
-
resetRowSelectionin interfaceTreeSelectionModel
getLeadSelectionRow
public int getLeadSelectionRow()
- Specified by:
-
getLeadSelectionRowin interfaceTreeSelectionModel - Returns:
- индекс ведущего выделения
getLeadSelectionPath
public TreePath getLeadSelectionPath()
- Specified by:
-
getLeadSelectionPathin interfaceTreeSelectionModel - Returns:
- последний добавленный путь
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeEvent будет сгенерирован при изменении режима выбора.
- Specified by:
-
addPropertyChangeListenerin interfaceTreeSelectionModel - Parameters:
-
listener- добавляемый PropertyChangeListener
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
- Specified by:
-
removePropertyChangeListenerin interfaceTreeSelectionModel - Parameters:
-
listener- удаляемый PropertyChangeListener
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
DefaultTreeSelectionModel.- Возвращает:
- все слушатели изменений свойств этой модели или пустой массив, если слушатели изменений свойств не зарегистрированы
- С:
- 1.4
- См. также:
insureRowContinuity
protected void insureRowContinuity()
TreePath являются допустимыми для текущего режима выбора. Если режим выбора — CONTIGUOUS_TREE_SELECTION и существует RowMapper, это гарантирует, что все строки являются непрерывными, то есть, при сортировке все строки упорядочены без пробелов. Если выбор не является непрерывным, выбор сбрасывается на содержащий первую последовательность непрерывных строк, при сортировке. Если режим выбора — SINGLE_TREE_SELECTION и выбрано более одного объекта TreePath, выбор сбрасывается на первый выбранный путь.
arePathsContiguous
protected boolean arePathsContiguous(TreePath[] paths)
- Параметры:
-
paths- массив путей для проверки - Возвращает:
- являются ли пути непрерывными или у этого объекта нет RowMapper
canPathsBeAdded
protected boolean canPathsBeAdded(TreePath[] paths)
TreePath. Это вернет true, если paths равен null (или пуст), или у этого объекта нет RowMapper, или ничего не выбрано, или режим выбора — DISCONTIGUOUS_TREE_SELECTION, или добавление путей к текущему выбору по-прежнему приводит к непрерывному набору TreePath.- Параметры:
-
paths- массивTreePathsдля проверки - Возвращает:
- можно ли добавить конкретный набор
TreePaths
canPathsBeRemoved
protected boolean canPathsBeRemoved(TreePath[] paths)
- Параметры:
-
paths- массивTreePathдля проверки - Возвращает:
- можно ли удалить пути без нарушения непрерывности модели
notifyPathChange
@Deprecated protected void notifyPathChange(Vector<?> changedPaths, TreePath oldLeadSelection)
- Параметры:
-
changedPaths- вектор измененных путей -
oldLeadSelection- старый путь выбора
updateLeadIndex
protected void updateLeadIndex()
insureUniqueness
protected void insureUniqueness()
toString
clone
public Object clone() throws CloneNotSupportedException
- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого экземпляра.
- Исключения:
-
CloneNotSupportedException- никогда не выбрасывается экземплярами этого класса - См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/tree/DefaultTreeSelectionModel.html