Spec-Zone.ru › OpenJDK 21

Интерфейс TreeSelectionModel

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

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

TreeSelectionModel может быть настроен для разрешения только одного пути (SINGLE_TREE_SELECTION) нескольких смежных путей (CONTIGUOUS_TREE_SELECTION) или нескольких несмежных путей (DISCONTIGUOUS_TREE_SELECTION). Для определения, являются ли TreePath смежными, используется RowMapper. При отсутствии 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 из списка слушателей, которые уведомляются каждый раз при изменении набора выбранных TreePath.
void resetRowSelection()
Обновляет сопоставление между TreePath и строками в этом объекте.
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
Выбор может содержать только один путь за раз.
См. также:
  • Constant Field Values

CONTIGUOUS_TREE_SELECTION

static final int CONTIGUOUS_TREE_SELECTION
Выбор может быть только непрерывным. Это будет применяться только в том случае, если предоставлен экземпляр RowMapper. То есть, если RowMapper не установлен, это ведёт себя так же, как DISCONTIGUOUS_TREE_SELECTION.
См. также:
  • Constant Field Values

DISCONTIGUOUS_TREE_SELECTION

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

Краткое описание методов

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 (или пустой массив), если нет выбранных 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, 2023, 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/21/docs/api/java.desktop/javax/swing/tree/TreeSelectionModel.html

Spec-Zone.ru

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