Spec-Zone.ru › OpenJDK 25

Интерфейс TreeSelectionModel

Все известные классы-реализации:
DefaultTreeSelectionModel, JTree.EmptySelectionModel
public interface TreeSelectionModel
Этот интерфейс представляет текущее состояние выбора для компонента дерева. Сведения и примеры использования моделей выбора в деревьях см. в разделе Использование деревьев в Учебнике по Java.

Состояние выбора в дереве характеризуется набором TreePaths и, при необходимости, набором целых чисел. Сопоставление TreePath с целым числом выполняется с помощью экземпляра RowMapper. Для корректной работы TreeSelectionModel не обязательно иметь RowMapper, однако без RowMapper getSelectionRows вернет null.

TreeSelectionModel можно настроить так, чтобы разрешить только один путь (SINGLE_TREE_SELECTION), несколько смежных путей (CONTIGUOUS_TREE_SELECTION) или несколько несмежных путей (DISCONTIGUOUS_TREE_SELECTION). Для определения смежности TreePaths используется RowMapper. При отсутствии 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 listener)
Добавляет PropertyChangeListener в список слушателей.
void addSelectionPath(TreePath path)
Добавляет путь к текущему выбору.
void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору.
void addTreeSelectionListener(TreeSelectionListener x)
Добавляет 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(TreePath path)
Возвращает true, если путь path присутствует в текущем выборе.
boolean isRowSelected(int row)
Возвращает true, если выбрана строка, обозначенная row.
boolean isSelectionEmpty()
Возвращает true, если выбор в данный момент пуст.
void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей.
void removeSelectionPath(TreePath path)
Удаляет путь из выбора.
void removeSelectionPaths(TreePath[] paths)
Удаляет пути из выбора.
void removeTreeSelectionListener(TreeSelectionListener x)
Удаляет x из списка слушателей, получающих уведомления при каждом изменении набора выбранных TreePaths.
void resetRowSelection()
Обновляет сопоставление путей TreePaths со строками для этого объекта.
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[] paths)
Устанавливает путь в качестве выбранного.

Подробное описание полей

SINGLE_TREE_SELECTION

static final int SINGLE_TREE_SELECTION
В выборе одновременно может находиться только один путь.
См. также:
  • Значения константных полей

CONTIGUOUS_TREE_SELECTION

static final int CONTIGUOUS_TREE_SELECTION
Выбор может содержать только смежные элементы. Это ограничение будет соблюдаться только при наличии экземпляра RowMapper. Иными словами, если RowMapper не задан, этот режим работает так же, как DISCONTIGUOUS_TREE_SELECTION.
См. также:
  • Значения константных полей

DISCONTIGUOUS_TREE_SELECTION

static final int DISCONTIGUOUS_TREE_SELECTION
Выбор может содержать любое количество элементов, которые не обязательно должны быть смежными.
См. также:
  • Значения константных полей

Подробное описание методов

setSelectionMode

void setSelectionMode(int mode)
Задает модель выбора, которая должна быть одной из следующих: SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION.

Если текущий выбор недопустим для нового режима, он может измениться. Например, если при переключении режима выбраны три TreePaths, а новый режим — SINGLE_TREE_SELECTION, выбранным останется только один TreePath. Конкретная реализация определяет, какой именно TreePath останется выбранным.

Параметры:
mode — задаваемый режим выбора

getSelectionMode

int getSelectionMode()
Возвращает текущий режим выбора: SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION.
Возвращает:
текущий режим выбора

setSelectionPath

void setSelectionPath(TreePath path)
Устанавливает путь в качестве выбранного. Если это приводит к изменению, уведомляются TreeSelectionListeners. Если path имеет значение null, результат такой же, как при вызове clearSelection.
Параметры:
path — новый путь для выбора

setSelectionPaths

void setSelectionPaths(TreePath[] paths)
Устанавливает пути в качестве выбранных. Если это приводит к изменению, уведомляются TreeSelectionListeners. Если paths имеет значение null, результат такой же, как при вызове clearSelection.
Параметры:
paths — новый набор выбранных путей

addSelectionPath

void addSelectionPath(TreePath path)
Добавляет путь к текущему выбору. Если путь еще не входит в выбор, уведомляются TreeSelectionListeners. Метод ничего не делает, если path имеет значение null.
Параметры:
path — новый путь для добавления к текущему выбору

addSelectionPaths

void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору. Если какой-либо из путей в paths еще не входит в выбор, уведомляются TreeSelectionListeners. Метод ничего не делает, если paths имеет значение null.
Параметры:
paths — новые пути для добавления к текущему выбору

removeSelectionPath

void removeSelectionPath(TreePath path)
Удаляет путь из выбора. Если путь входит в выбор, уведомляются TreeSelectionListeners. Метод ничего не делает, если path имеет значение null.
Параметры:
path — путь для удаления из выбора

removeSelectionPaths

void removeSelectionPaths(TreePath[] paths)
Удаляет пути из выбора. Если какие-либо пути из paths входят в выбор, уведомляются TreeSelectionListeners. Метод ничего не делает, если paths имеет значение null.
Параметры:
paths — пути для удаления из выбора

getSelectionPath

TreePath getSelectionPath()
Возвращает первый путь в выборе. Определение первого пути зависит от реализации; это не обязательно TreePath с наименьшим целочисленным значением, определенным с помощью RowMapper.
Возвращает:
первый путь в выборе

getSelectionPaths

TreePath[] getSelectionPaths()
Возвращает пути в выборе. Если в данный момент ничего не выбрано, возвращает null (или пустой массив).
Возвращает:
пути в выборе

getSelectionCount

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

isPathSelected

boolean isPathSelected(TreePath path)
Возвращает true, если путь path присутствует в текущем выборе.
Параметры:
path — проверяемый путь
Возвращает:
входит ли path в текущий выбор

isSelectionEmpty

boolean isSelectionEmpty()
Возвращает true, если выбор в данный момент пуст.
Возвращает:
является ли выбор в данный момент пустым

clearSelection

void clearSelection()
Очищает текущий выбор. Если это приводит к изменению текущего выбора, уведомляются слушатели выбора.

setRowMapper

void setRowMapper(RowMapper newMapper)
Устанавливает экземпляр RowMapper. Этот экземпляр используется для определения строки, соответствующей заданному TreePath.
Параметры:
newMapper — задаваемый RowMapper

getRowMapper

RowMapper getRowMapper()
Возвращает экземпляр RowMapper, способный сопоставить TreePath со строкой.
Возвращает:
экземпляр RowMapper, способный сопоставить TreePath со строкой

getSelectionRows

int[] getSelectionRows()
Возвращает все строки, выбранные в данный момент. Возвращает null (или пустой массив), если не выбрано ни одного TreePath или не задан RowMapper.
Возвращает:
все строки, выбранные в данный момент

getMinSelectionRow

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

getMaxSelectionRow

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

isRowSelected

boolean isRowSelected(int row)
Возвращает true, если выбрана строка, обозначенная row.
Параметры:
row — проверяемая строка
Возвращает:
выбрана ли строка

resetRowSelection

void resetRowSelection()
Обновляет сопоставление TreePaths со строками для этого объекта. Этот метод следует вызывать, когда изменилось сопоставление TreePaths с целыми числами (например, был развернут узел).

Обычно вызывать этот метод не требуется: JTree и связанные с ним слушатели сделают это за вас. Если вы реализуете собственный класс представления, этот метод необходимо вызвать самостоятельно.

getLeadSelectionRow

int getLeadSelectionRow()
Возвращает индекс ведущего элемента выбора, то есть индекс последнего добавленного элемента.
Возвращает:
индекс ведущего элемента выбора

getLeadSelectionPath

TreePath getLeadSelectionPath()
Возвращает последний добавленный путь. Он может отличаться от свойства leadSelectionPath, поддерживаемого JTree.
Возвращает:
последний добавленный путь

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener listener)
Добавляет PropertyChangeListener в список слушателей. Слушатель регистрируется для всех свойств.

При изменении режима выбора будет сгенерировано событие PropertyChangeEvent.

Параметры:
listener — добавляемый PropertyChangeListener

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
Удаляет PropertyChangeListener из списка слушателей. Удаляется PropertyChangeListener, зарегистрированный для всех свойств.
Параметры:
listener — удаляемый PropertyChangeListener

addTreeSelectionListener

void addTreeSelectionListener(TreeSelectionListener x)
Добавляет x в список слушателей, получающих уведомления при каждом изменении набора выбранных TreePaths.
Параметры:
x — добавляемый слушатель

removeTreeSelectionListener

void removeTreeSelectionListener(TreeSelectionListener x)
Удаляет x из списка слушателей, получающих уведомления при каждом изменении набора выбранных TreePaths.
Параметры:
x — удаляемый слушатель

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/tree/TreeSelectionModel.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API