Spec-Zone.ru › OpenJDK 24

Интерфейс TreeSelectionModel

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

Состояние выбора дерева характеризуется набором 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 listener)
Добавляет PropertyChangeListener в список слушателей.
void addSelectionPath(TreePath path)
Добавляет путь к текущему выбору.
void addSelectionPaths(TreePath[] paths)
Добавляет пути к текущему выбору.
void addTreeSelectionListener(TreeSelectionListener x)
Добавляет 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(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.

Это может изменить выбор, если текущий выбор не допустим для новой модели. Например, если выбраны три TreePath, когда режим изменился на 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 для текущего набора выбранных TreePath. Если ничего не выбрано или RowMapper отсутствует, возвращает -1.
Возвращает:
наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePath

getMaxSelectionRow

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

isRowSelected

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

resetRowSelection

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

Обычно вызывать это не нужно; 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 - удаляемый слушатель

© 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

Spec-Zone.ru

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