Класс DefaultTreeSelectionModel
- Все реализуемые интерфейсы:
-
Serializable,Cloneable,TreeSelectionModel
- Прямые известные подклассы:
JTree.EmptySelectionModel
public class DefaultTreeSelectionModel extends Object implements Cloneable, Serializable, TreeSelectionModel
resetRowSelection вызывается из любого из методов, которые обновляют выбранные пути. Если вы наследуете любой из этих методов, чтобы отфильтровать то, что разрешено выбирать, обязательно вызовите метод resetRowSelection , если вы не вызываете super. Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, добавлена поддержка долгосрочного хранения всех JavaBeans в пакете java.beans. Пожалуйста, обратитесь к XMLEncoder.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected SwingPropertyChangeSupport |
changeSupport |
Используется для отправки сообщений зарегистрированным слушателям. |
protected int |
leadIndex |
Индекс ведущего пути в выборе. |
protected TreePath |
leadPath |
Последний добавленный путь. |
protected int |
leadRow |
Строка-лидер. |
protected EventListenerList |
listenerList |
Список слушателей событий. |
protected DefaultListSelectionModel |
listSelectionModel |
Обрабатывает поддержание модели выбора списка. |
protected RowMapper |
rowMapper |
Предоставляет строку для заданного пути. |
protected TreePath[] |
selection |
Пути, которые в настоящее время выбраны. |
static final String |
SELECTION_MODE_PROPERTY |
Имя свойства для selectionMode. |
protected int |
selectionMode |
Режим выбора, будет либо SINGLE_TREE_SELECTION, либо CONTIGUOUS_TREE_SELECTION, либо DISCONTIGUOUS_TREE_SELECTION. |
Поля, объявленные в интерфейсе javax.swing.tree.TreeSelectionModel
CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DefaultTreeSelectionModel() |
Создаёт новый экземпляр DefaultTreeSelectionModel, который пуст, с режимом выбора DISCONTIGUOUS_TREE_SELECTION. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addPropertyChangeListener |
Добавляет PropertyChangeListener в список слушателей. |
void |
addSelectionPath |
Добавляет путь к текущему выбору. |
void |
addSelectionPaths |
Добавляет пути к текущему выбору. |
void |
addTreeSelectionListener |
Добавляет x в список слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePath. |
protected boolean |
arePathsContiguous |
Возвращает true, если пути являются смежными, или у этого объекта нет RowMapper. |
protected boolean |
canPathsBeAdded |
Используется для проверки, можно ли добавить определённый набор TreePath. |
protected boolean |
canPathsBeRemoved |
Возвращает true, если пути можно удалить без нарушения непрерывности модели. |
void |
clearSelection() |
Очищает текущий выбор. |
Object |
clone() |
Возвращает клон этого объекта с тем же выбором. |
protected void |
fireValueChanged |
Уведомляет всех зарегистрированных слушателей об изменениях в выбранных элементах дерева. |
TreePath |
getLeadSelectionPath() |
Возвращает последний добавленный путь. |
int |
getLeadSelectionRow() |
Возвращает индекс ведущего элемента выбора. |
<T extends EventListener> |
getListeners |
Возвращает массив всех объектов, которые в настоящее время зарегистрированы как FooListener в этой модели. |
int |
getMaxSelectionRow() |
Возвращает наибольшее значение, полученное от RowMapper для текущего набора выбранных TreePath. |
int |
getMinSelectionRow() |
Возвращает наименьшее значение, полученное от RowMapper для текущего набора выбранных TreePath. |
PropertyChangeListener[] |
getPropertyChangeListeners() |
Возвращает массив всех слушателей изменений свойств, зарегистрированных на этом DefaultTreeSelectionModel. |
RowMapper |
getRowMapper() |
Возвращает экземпляр RowMapper, который может сопоставлять TreePath со строкой. |
int |
getSelectionCount() |
Возвращает количество выбранных путей. |
int |
getSelectionMode() |
Возвращает режим выбора, один из SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION. |
TreePath |
getSelectionPath() |
Возвращает первый путь в выборе. |
TreePath[] |
getSelectionPaths() |
Возвращает выбор. |
int[] |
getSelectionRows() |
Возвращает выбор в терминах строк. |
TreeSelectionListener[] |
getTreeSelectionListeners() |
Возвращает массив всех слушателей выбора дерева, зарегистрированных в этой модели. |
protected void |
insureRowContinuity() |
Убеждается, что в настоящее время выбранные TreePath допустимы для текущего режима выбора. |
protected void |
insureUniqueness() |
Этот метод устарел и его реализация сейчас является noop. |
boolean |
isPathSelected |
Возвращает true, если путь, path, находится в текущем выборе. |
boolean |
isRowSelected |
Возвращает true, если строка, идентифицированная по row, выбрана. |
boolean |
isSelectionEmpty() |
Возвращает true, если выбор в настоящее время пуст. |
protected void |
notifyPathChange |
Устарело. С версии JDK 1.7 |
void |
removePropertyChangeListener |
Удаляет PropertyChangeListener из списка слушателей. |
void |
removeSelectionPath |
Удаляет путь из выбора. |
void |
removeSelectionPaths |
Удаляет пути из выбора. |
void |
removeTreeSelectionListener |
Удаляет x из списка слушателей, которые уведомляются каждый раз, когда изменяется набор выбранных TreePaths. |
void |
resetRowSelection() |
Обновляет сопоставление объекта между TreePath и строками. |
void |
setRowMapper |
Устанавливает экземпляр RowMapper. |
void |
setSelectionMode |
Устанавливает модель выбора, которая должна быть одной из SINGLE_TREE_SELECTION, CONTIGUOUS_TREE_SELECTION или DISCONTIGUOUS_TREE_SELECTION. |
void |
setSelectionPath |
Устанавливает выбор на путь. |
void |
setSelectionPaths |
Устанавливает выбор. |
String |
toString() |
Возвращает строку, отображающую и идентифицирующую свойства этого объекта. |
protected void |
updateLeadIndex() |
Обновляет переменную leadIndex. |
Подробное описание полей
SELECTION_MODE_PROPERTY
public static final String SELECTION_MODE_PROPERTY
- См. также:
changeSupport
protected SwingPropertyChangeSupport changeSupport
selection
protected TreePath[] selection
listenerList
protected EventListenerList listenerList
rowMapper
protected transient RowMapper rowMapper
listSelectionModel
protected DefaultListSelectionModel listSelectionModel
selectionMode
protected int selectionMode
leadPath
protected TreePath leadPath
leadIndex
protected int leadIndex
leadRow
protected int leadRow
Подробное описание конструкторов
DefaultTreeSelectionModel
public DefaultTreeSelectionModel()
Подробное описание методов
setRowMapper
public void setRowMapper(RowMapper newMapper)
- Указано в:
-
setRowMapperв интерфейсеTreeSelectionModel - Параметры:
-
newMapper- RowMapper для установки
getRowMapper
public RowMapper getRowMapper()
- Указано в:
-
getRowMapperв интерфейсеTreeSelectionModel - Возвращает:
- экземпляр RowMapper, способный сопоставлять TreePath со строкой
setSelectionMode
public void setSelectionMode(int mode)
DISCONTIGUOUS_TREE_SELECTION. Это может изменить выбор, если текущий выбор не действителен для нового режима. Например, если три TreePath выбраны, когда режим изменяется на SINGLE_TREE_SELECTION, останется только один TreePath. Реализация должна решить, какой TreePath останется выбранным.
Установка режима на значение, отличное от определенных типов, приведет к тому, что режим станет DISCONTIGUOUS_TREE_SELECTION.
- Указано в:
-
setSelectionModeв интерфейсеTreeSelectionModel - Параметры:
-
mode- устанавливаемый режим выбора
getSelectionMode
public int getSelectionMode()
SINGLE_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION или CONTIGUOUS_TREE_SELECTION. - Указано в:
-
getSelectionModeв интерфейсеTreeSelectionModel - Возвращает:
- текущий режим выбора
setSelectionPath
public void setSelectionPath(TreePath path)
path равно null, это эквивалентно вызову clearSelection. - Указано в:
-
setSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- новый путь для выбора
setSelectionPaths
public void setSelectionPaths(TreePath[] pPaths)
null, или пустой, выбор очищается. Если режим выбора SINGLE_TREE_SELECTION, используется только первый путь в pPaths. Если режим выбора CONTIGUOUS_TREE_SELECTION и предоставленные пути не являются смежными, используется только первый путь в pPaths. Если режим выбора DISCONTIGUOUS_TREE_SELECTION, используются все пути. Все null пути в pPaths игнорируются.
Если это изменение, все зарегистрированные
TreeSelectionListener уведомляются.
Ведущий путь устанавливается на последний уникальный путь.
Пути, возвращаемые из getSelectionPaths, упорядочены так же, как и те, которые были предоставлены этому методу.
- Указано в:
-
setSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
pPaths- новый выбор
addSelectionPath
public void addSelectionPath(TreePath path)
path равно null, это не оказывает влияния.- Указано в:
-
addSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- новый путь для добавления к текущему выбору
addSelectionPaths
public void addSelectionPaths(TreePath[] paths)
paths равно null, это не оказывает влияния. Ведущий путь устанавливается на последний элемент в paths.
Если режим выбора CONTIGUOUS_TREE_SELECTION, и добавление новых путей сделает выбор несмежным. Тогда могут произойти два события: если TreePaths в paths смежные, то выбор становится этими TreePaths, в противном случае TreePaths не смежные и выбор становится первым TreePath в paths.
- Указано в:
-
addSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
paths- новый путь для добавления к текущему выбору
removeSelectionPath
public void removeSelectionPath(TreePath path)
path равно null, это не оказывает влияния.- Указано в:
-
removeSelectionPathв интерфейсеTreeSelectionModel - Параметры:
-
path- путь для удаления из выбора
removeSelectionPaths
public void removeSelectionPaths(TreePath[] paths)
paths равно null, это не оказывает влияния.- Указано в:
-
removeSelectionPathsв интерфейсеTreeSelectionModel - Параметры:
-
paths- пути для удаления из выбора
getSelectionPath
public TreePath getSelectionPath()
- Указано в:
-
getSelectionPathв интерфейсеTreeSelectionModel - Возвращает:
- первый путь в выборе
getSelectionPaths
public TreePath[] getSelectionPaths()
- Указано в:
-
getSelectionPathsв интерфейсеTreeSelectionModel - Возвращает:
- выбор
getSelectionCount
public int getSelectionCount()
- Указано в:
-
getSelectionCountв интерфейсеTreeSelectionModel - Возвращает:
- количество выбранных путей
isPathSelected
public boolean isPathSelected(TreePath path)
path, находится в текущем выборе.- Указано в:
-
isPathSelectedв интерфейсеTreeSelectionModel - Параметры:
-
path- путь для проверки - Возвращает:
- является ли
pathчастью текущего выбора
isSelectionEmpty
public boolean isSelectionEmpty()
- Указано в:
-
isSelectionEmptyв интерфейсеTreeSelectionModel - Возвращает:
- является ли выбор пустым
clearSelection
public void clearSelection()
- Specified by:
-
clearSelectionв интерфейсеTreeSelectionModel
addTreeSelectionListener
public void addTreeSelectionListener(TreeSelectionListener x)
- Specified by:
-
addTreeSelectionListenerв интерфейсеTreeSelectionModel - Parameters:
-
x- новый добавляемый слушатель
removeTreeSelectionListener
public void removeTreeSelectionListener(TreeSelectionListener x)
- Specified by:
-
removeTreeSelectionListenerв интерфейсеTreeSelectionModel - Parameters:
-
x- слушатель для удаления
getTreeSelectionListeners
public TreeSelectionListener[] getTreeSelectionListeners()
- Returns:
- все слушатели этой модели или пустой массив, если слушатели выбора узлов не зарегистрированы
- Since:
- 1.4
- See Also:
fireValueChanged
protected void fireValueChanged(TreeSelectionEvent e)
- Parameters:
-
e- событие, характеризующее изменение - See Also:
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener для данной модели. FooListener регистрируются с помощью метода addFooListener. Вы можете указать аргумент listenerType с помощью литерала класса, например, FooListener.class. Например, вы можете запросить слушателей выбора узлов для DefaultTreeSelectionModel m следующим кодом:
TreeSelectionListener[] tsls = (TreeSelectionListener[])(m.getListeners(TreeSelectionListener.class));Если таких слушателей нет, этот метод возвращает пустой массив.
- Type Parameters:
-
T- тип слушателя - Parameters:
-
listenerType- тип запрашиваемых слушателей - Returns:
- массив всех объектов, зарегистрированных как
FooListenerдля этого компонента, или пустой массив, если такие слушатели не добавлены - Throws:
-
ClassCastException- еслиlistenerTypeне указывает класс или интерфейс, реализующийjava.util.EventListener - Since:
- 1.3
- See Also:
getSelectionRows
public int[] getSelectionRows()
TreePath возвращаемыми getSelectionPaths и этим методом. В частности, если TreePath не отображается (
RowMapper возвращает -1 для строки, соответствующей TreePath), то соответствующая строка не включается в возвращаемый массив. Например, если выбор состоит из двух путей, A и B, с A в строке 10, и B не отображается в данный момент, то этот метод возвращает массив с единственным элементом 10.- Specified by:
-
getSelectionRowsв интерфейсеTreeSelectionModel - Returns:
- выбор в терминах строк
getMinSelectionRow
public int getMinSelectionRow()
- Specified by:
-
getMinSelectionRowв интерфейсеTreeSelectionModel - Returns:
- наименьшее значение, полученное из RowMapper для текущего набора выбранных TreePaths
getMaxSelectionRow
public int getMaxSelectionRow()
- Specified by:
-
getMaxSelectionRowв интерфейсеTreeSelectionModel - Returns:
- наибольшее значение, полученное из RowMapper для текущего набора выбранных TreePaths
isRowSelected
public boolean isRowSelected(int row)
row, выбрана.- Specified by:
-
isRowSelectedв интерфейсеTreeSelectionModel - Parameters:
-
row- строка для проверки - Returns:
- выбрана ли строка
resetRowSelection
public void resetRowSelection()
Обычно вызывать этот метод не нужно, JTree и его связанные слушатели вызывают его за вас. Если вы реализуете свой собственный класс View, то вам нужно будет вызвать этот метод.
Это вызовет insureRowContinuity для проверки, остаются ли текущие выбранные TreePaths действительными на основе режима выбора.
- Specified by:
-
resetRowSelectionв интерфейсеTreeSelectionModel
getLeadSelectionRow
public int getLeadSelectionRow()
- Specified by:
-
getLeadSelectionRowв интерфейсеTreeSelectionModel - Returns:
- индекс ведущего выбора
getLeadSelectionPath
public TreePath getLeadSelectionPath()
- Specified by:
-
getLeadSelectionPathв интерфейсеTreeSelectionModel - Returns:
- последний добавленный путь
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeEvent будет сгенерирован при изменении режима выбора.
- Specified by:
-
addPropertyChangeListenerв интерфейсеTreeSelectionModel - Parameters:
-
listener- добавляемый PropertyChangeListener
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
- Specified by:
-
removePropertyChangeListenerв интерфейсеTreeSelectionModel - Parameters:
-
listener- удаляемый PropertyChangeListener
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
DefaultTreeSelectionModel.- Returns:
- все слушатели изменений свойств этой модели или пустой массив, если слушатели изменений свойств не зарегистрированы
- Since:
- 1.4
- See Also:
insureRowContinuity
protected void insureRowContinuity()
TreePaths действительны для текущего режима выбора. Если режим выбора CONTIGUOUS_TREE_SELECTION и RowMapper существует, это гарантирует, что все строки являются смежными, то есть при сортировке все строки упорядочены без пробелов. Если выбор не смежный, выбор сбрасывается, чтобы содержать первую сортированную группу смежных строк. Если режим выбора SINGLE_TREE_SELECTION и выбрано более одного TreePath, выбор сбрасывается, чтобы содержать первый выбранный путь.
arePathsContiguous
protected boolean arePathsContiguous(TreePath[] paths)
- Parameters:
-
paths- массив путей для проверки - Returns:
- смежные ли пути, или у объекта нет RowMapper
canPathsBeAdded
protected boolean canPathsBeAdded(TreePath[] paths)
TreePath. Возвращает true, если paths равно null (или пусто), у этого объекта нет RowMapper, ничего не выбрано, режим выбора DISCONTIGUOUS_TREE_SELECTION, или добавление путей к текущему выбору всё ещё приводит к непрерывному набору TreePath.- Parameters:
-
paths- массивTreePathsдля проверки - Returns:
- можно ли добавить указанный набор
TreePaths
canPathsBeRemoved
protected boolean canPathsBeRemoved(TreePath[] paths)
- Parameters:
-
paths- массивTreePathдля проверки - Returns:
- можно ли удалить пути без нарушения непрерывности модели
notifyPathChange
@Deprecated protected void notifyPathChange(Vector<?> changedPaths, TreePath oldLeadSelection)
- Parameters:
-
changedPaths- вектор изменённых путей -
oldLeadSelection- старый путь выделения
updateLeadIndex
protected void updateLeadIndex()
insureUniqueness
protected void insureUniqueness()
toString
public String toString()
- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этого объекта
clone
public Object clone() throws CloneNotSupportedException
- Overrides:
-
cloneв классеObject - Returns:
- клон этого экземпляра.
- Throws:
-
CloneNotSupportedException- никогда не выбрасывается экземплярами этого класса - See Also:
© 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/DefaultTreeSelectionModel.html