Интерфейс TreeSelectionModel

Все известные реализующие классы:
DefaultTreeSelectionModel, JTree.EmptySelectionModel
public interface TreeSelectionModel

Этот интерфейс представляет текущее состояние выделения для компонента дерева. Для получения информации и примеров использования моделей выделения дерева см. Как использовать деревья в Java Tutorial.

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

TreeSelectionModel может быть настроен для разрешения только одного пути (SINGLE_TREE_SELECTION) или набора смежных путей (CONTIGUOUS_TREE_SELECTION) или набора несмежных путей (DISCONTIGUOUS_TREE_SELECTION). Экземпляр RowMapper используется для определения, являются ли TreePath смежными. В отсутствии RowMapper CONTIGUOUS_TREE_SELECTION и DISCONTIGUOUS_TREE_SELECTION ведут себя одинаково, то есть разрешают любое количество путей в TreeSelectionModel.

Для модели выделения CONTIGUOUS_TREE_SELECTION всякий раз, когда пути изменяются (setSelectionPath, addSelectionPath ...), TreePaths снова проверяются на смежность. Проверку TreePaths также можно принудительно выполнить, вызвав resetRowSelection. Как набор несмежных TreePath отображается на смежный набор, остается на усмотрение разработчиков этого интерфейса для реализации определенной политики.

Реализации должны объединять дублирующиеся TreePath, которые добавляются к выделению. Например, следующий код

TreePath[] paths = new TreePath[] { treePath, treePath };
   treeSelectionModel.setSelectionPaths(paths);
должен привести к выделению только одного пути: treePath, а не двух копий treePath.

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

Поля

Модификатор и тип Поле Описание
static int CONTIGUOUS_TREE_SELECTION

Выделение может быть только смежным.

static int DISCONTIGUOUS_TREE_SELECTION

Выделение может содержать любое количество элементов, которые необязательно должны быть смежными.

static 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.

Это может изменить выбор, если текущий выбор не подходит для новой модели. Например, если выбраны три 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 (или пустой массив), если нет выбранных TreePaths или 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 - удаляемый слушатель

© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/tree/TreeSelectionModel.html

Spec-Zone .ru
спецификации, руководства, описания, API