Интерфейс TreeSelectionModel
- Все известные реализующие классы:
-
DefaultTreeSelectionModel,JTree.EmptySelectionModel
public interface TreeSelectionModel
Состояние выбора дерева характеризуется набором TreePaths и, необязательно, набором целых чисел. Сопоставление между TreePath и целым числом выполняется с помощью экземпляра RowMapper. Для корректной работы модели TreeSelectionModel не обязательно наличие RowMapper, но без RowMapper getSelectionRows вернёт null.
Модель TreeSelectionModel может быть настроена для разрешения только одного пути (SINGLE_TREE_SELECTION) , определённого числа смежных путей (CONTIGUOUS_TREE_SELECTION) или определённого числа несвязных путей (DISCONTIGUOUS_TREE_SELECTION). RowMapper используется для определения того, являются ли TreePaths смежными. В отсутствие RowMapper CONTIGUOUS_TREE_SELECTION и DISCONTIGUOUS_TREE_SELECTION ведут себя одинаково, то есть разрешают любое количество путей в модели TreeSelectionModel.
Для модели выбора типа CONTIGUOUS_TREE_SELECTION каждый раз, когда пути изменяются (setSelectionPath, addSelectionPath ...), TreePaths проверяются на смежность. Проверку TreePaths также можно принудительно выполнить, вызвав resetRowSelection. Способ отображения набора несвязных TreePaths в смежный набор предоставляется на усмотрение разработчиков данного интерфейса для реализации конкретной политики.
Реализации должны объединять дублируемые TreePaths, которые добавляются к выбору. Например, следующий код
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 в список слушателей, уведомляемых каждый раз, когда изменяется набор выбранных TreePaths. |
void |
clearSelection() |
Очищает текущий выбор. |
TreePath |
getLeadSelectionPath() |
Возвращает последний добавленный путь. |
int |
getLeadSelectionRow() |
Возвращает индекс ведущего выбора. |
int |
getMaxSelectionRow() |
Возвращает наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. |
int |
getMinSelectionRow() |
Возвращает наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePaths. |
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)
Это может изменить выбор, если текущий выбор недействителен для нового режима. Например, если выбраны три TreePaths, когда режим изменен на 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 для текущего набора выбранных TreePaths
getMaxSelectionRow
int getMaxSelectionRow()
- Возвращает:
- наибольшее значение, полученное из RowMapper для текущего набора выбранных TreePaths
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, 2021, 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/17/docs/api/java.desktop/javax/swing/tree/TreeSelectionModel.html