Интерфейс TreeSelectionModel
- Все известные реализующие классы:
-
DefaultTreeSelectionModel,JTree.EmptySelectionModel
public interface TreeSelectionModel
Состояние выбора дерева характеризуется набором TreePath и, необязательно, набором целых чисел. Сопоставление TreePath с целым числом выполняется с помощью экземпляра RowMapper. Для корректной работы модели выбора дерева не обязательно наличие RowMapper, но без него getSelectionRows вернёт null.
Модель выбора дерева может быть настроена на разрешение выбора только одного пути (SINGLE_TREE_SELECTION), ряда смежных путей (CONTIGUOUS_TREE_SELECTION) или ряда несвязанных путей (DISCONTIGUOUS_TREE_SELECTION). Экземпляр RowMapper используется для определения, являются ли TreePath смежными. В отсутствие RowMapper, CONTIGUOUS_TREE_SELECTION и DISCONTIGUOUS_TREE_SELECTION ведут себя одинаково, то есть позволяют содержать любое количество путей в TreeSelectionModel.
Для модели выбора типа CONTIGUOUS_TREE_SELECTION каждый раз, когда пути изменяются (setSelectionPath, addSelectionPath ...), TreePath снова проверяются на смежность. Проверку TreePath также можно выполнить принудительно, вызвав resetRowSelection. Способ сопоставления набора несвязанных TreePath с совокупностью смежных путей предоставляется реализаторам этого интерфейса для обеспечения конкретной политики.
Реализации должны объединять дублируемые TreePath, которые добавляются в выбор. Например, следующий код
TreePath[] paths = new TreePath[] { treePath, treePath };
treeSelectionModel.setSelectionPaths(paths);
должен привести к выбору только одного пути: treePath, а не двух копий treePath. Ведущий TreePath — это последний добавленный (или установленный) путь. Ведущая строка — это затем строка, соответствующая TreePath, как определено RowMapper.
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
CONTIGUOUS_TREE_SELECTION |
Выбор может быть только смежным. |
static final int |
DISCONTIGUOUS_TREE_SELECTION |
Выбор может содержать любое количество элементов, которые необязательно должны быть смежными. |
static final int |
SINGLE_TREE_SELECTION |
Выбор может содержать только один путь за раз. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
void |
addSelectionPath |
Добавляет путь к текущему выбору. |
void |
addSelectionPaths |
Добавляет пути к текущему выбору. |
void |
addTreeSelectionListener |
Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePath. |
void |
clearSelection() |
Очищает текущий выбор. |
TreePath |
getLeadSelectionPath() |
Возвращает последний добавленный путь. |
int |
getLeadSelectionRow() |
Возвращает индекс ведущего выделения. |
int |
getMaxSelectionRow() |
Возвращает наибольшее значение, полученное из RowMapper для текущего набора выбранных TreePath. |
int |
getMinSelectionRow() |
Возвращает наименьшее значение, полученное из RowMapper для текущего набора выбранных TreePath. |
RowMapper |
getRowMapper() |
Возвращает экземпляр RowMapper, способный сопоставлять TreePath со строкой. |
int |
getSelectionCount() |
Возвращает количество выбранных путей. |
int |
getSelectionMode() |
Возвращает текущий режим выбора, один из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
TreePath |
getSelectionPath() |
Возвращает первый путь в выборе. |
TreePath[] |
getSelectionPaths() |
Возвращает пути в выборе. |
int[] |
getSelectionRows() |
Возвращает все текущие выделенные строки. |
boolean |
isPathSelected |
Возвращает true, если путь, path, находится в текущем выборе. |
boolean |
isRowSelected |
Возвращает true, если строка, идентифицируемая по row, выбрана. |
boolean |
isSelectionEmpty() |
Возвращает true, если выбор в настоящее время пуст. |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка слушателей. |
void |
removeSelectionPath |
Удаляет путь из выбора. |
void |
removeSelectionPaths |
Удаляет пути из выбора. |
void |
removeTreeSelectionListener |
Удаляет x из списка слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths. |
void |
resetRowSelection() |
Обновляет сопоставление этого объекта из TreePaths к строкам. |
void |
setRowMapper |
Устанавливает экземпляр RowMapper. |
void |
setSelectionMode |
Устанавливает модель выбора, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
void |
setSelectionPath |
Устанавливает выбор на путь. |
void |
setSelectionPaths |
Устанавливает выбор на путь. |
Подробное описание полей
SINGLE_TREE_SELECTION
static final int SINGLE_TREE_SELECTION
- См. также:
CONTIGUOUS_TREE_SELECTION
static final int CONTIGUOUS_TREE_SELECTION
- См. также:
DISCONTIGUOUS_TREE_SELECTION
static final int DISCONTIGUOUS_TREE_SELECTION
- См. также:
Подробное описание методов
setSelectionMode
void setSelectionMode(int mode)
Это может изменить выбор, если текущий выбор не допустим для новой модели. Например, если выбраны три TreePath, когда режим изменился на SINGLE_TREE_SELECTION, останется только один TreePath. Реализация принимает решение, какой TreePath останется выбранным.
- Параметры:
-
mode- устанавливаемый режим выбора
getSelectionMode
int getSelectionMode()
SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION.- Возвращает:
- текущий режим выбора
setSelectionPath
void setSelectionPath(TreePath path)
path равно null, это эквивалентно вызову clearSelection.- Параметры:
-
path- новый путь для выбора
setSelectionPaths
void setSelectionPaths(TreePath[] paths)
paths равно null, это эквивалентно вызову clearSelection.- Параметры:
-
paths- новый выбор
addSelectionPath
void addSelectionPath(TreePath path)
path равно null.- Параметры:
-
path- новый путь для добавления к текущему выбору
addSelectionPaths
void addSelectionPaths(TreePath[] paths)
paths равно null.- Параметры:
-
paths- новые пути для добавления к текущему выбору
removeSelectionPath
void removeSelectionPath(TreePath path)
path равно null.- Параметры:
-
path- путь для удаления из выбора
removeSelectionPaths
void removeSelectionPaths(TreePath[] paths)
paths присутствует в выборе, уведомляются TreeSelectionListeners. Этот метод не имеет эффекта, если paths равно null.- Параметры:
-
paths- путь для удаления из выбора
getSelectionPath
TreePath getSelectionPath()
RowMapper.- Возвращает:
- первый путь в выборе
getSelectionPaths
TreePath[] getSelectionPaths()
- Возвращает:
- пути в выборе
getSelectionCount
int getSelectionCount()
- Возвращает:
- количество выбранных путей
isPathSelected
boolean isPathSelected(TreePath path)
path, присутствует в текущем выборе.- Параметры:
-
path- путь для поиска - Возвращает:
- является ли данный
pathчастью текущего выбора
isSelectionEmpty
boolean isSelectionEmpty()
- Возвращает:
- является ли выбор пустым
clearSelection
void clearSelection()
setRowMapper
void setRowMapper(RowMapper newMapper)
- Параметры:
-
newMapper- устанавливаемый RowMapper
getRowMapper
RowMapper getRowMapper()
- Возвращает:
- экземпляр RowMapper, способный сопоставить TreePath со строкой
getSelectionRows
int[] getSelectionRows()
- Возвращает:
- все текущие выбранные строки
getMinSelectionRow
int getMinSelectionRow()
- Возвращает:
- наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePath
getMaxSelectionRow
int getMaxSelectionRow()
- Возвращает:
- наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePath
isRowSelected
boolean isRowSelected(int row)
row, выбрана.- Параметры:
-
row- строка для проверки - Возвращает:
- является ли строка выбранной
resetRowSelection
void resetRowSelection()
Обычно вызывать это не нужно; JTree и связанные с ним слушатели вызовут это за вас. Если вы реализуете собственный класс представления, вам нужно будет вызвать это.
getLeadSelectionRow
int getLeadSelectionRow()
- Возвращает:
- индекс ведущего выбора
getLeadSelectionPath
TreePath getLeadSelectionPath()
- Возвращает:
- последний добавленный путь
addPropertyChangeListener
void addPropertyChangeListener(PropertyChangeListener listener)
Событие PropertyChangeEvent будет сгенерировано при изменении режима выбора.
- Параметры:
-
listener- добавляемый обработчик PropertyChangeListener
removePropertyChangeListener
void removePropertyChangeListener(PropertyChangeListener listener)
- Параметры:
-
listener- удаляемый обработчик PropertyChangeListener
addTreeSelectionListener
void addTreeSelectionListener(TreeSelectionListener x)
- Параметры:
-
x- новый добавляемый слушатель
removeTreeSelectionListener
void removeTreeSelectionListener(TreeSelectionListener x)
- Параметры:
-
x- удаляемый слушатель
© 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/TreeSelectionModel.html