- 所有已实现的接口:
Serializable
,Cloneable
,TreeSelectionModel
resetRowSelection 从更新所选路径的任何方法调用。如果您将这些方法中的任何一个子类化以过滤允许选择的内容,请确保如果您不向 super 发送消息,请发送消息 resetRowSelection
。 Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans
包中。请参阅 XMLEncoder
。
- 参见:
-
字段摘要
字段修饰符和类型Field描述protected SwingPropertyChangeSupport
用于向注册的听众发送消息。protected int
选择中引导路径的索引。protected TreePath
最后添加的路径。protected int
排头阵。protected EventListenerList
事件监听列表。protected DefaultListSelectionModel
处理维护列表选择模型。protected RowMapper
为给定路径提供一行。protected TreePath[]
当前选择的路径。static final String
selectionMode 的属性名称。protected int
选择的模式将为 SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION 或 DISCONTIGUOUS_TREE_SELECTION。在接口 javax.swing.tree.TreeSelectionModel 中声明的字段
CONTIGUOUS_TREE_SELECTION, DISCONTIGUOUS_TREE_SELECTION, SINGLE_TREE_SELECTION
-
构造方法总结
构造方法构造方法描述创建一个新的 DefaultTreeSelectionModel 实例,该实例为空,选择模式为 DISCONTIGUOUS_TREE_SELECTION。 -
方法总结
修饰符和类型方法描述void
将 PropertyChangeListener 添加到监听列表。void
addSelectionPath
(TreePath path) 将路径添加到当前选择。void
addSelectionPaths
(TreePath[] paths) 将路径添加到当前选择。void
将 x 添加到监听列表中,每次选定的 TreePath 集更改时都会通知这些监听。protected boolean
arePathsContiguous
(TreePath[] paths) 如果路径是连续的,或者此对象没有 RowMapper,则返回 true。protected boolean
canPathsBeAdded
(TreePath[] paths) 用于测试是否可以添加一组特定的TreePath
。protected boolean
canPathsBeRemoved
(TreePath[] paths) 如果可以在不破坏模型连续性的情况下删除路径,则返回 true。void
清空当前选择。clone()
返回具有相同选择的此对象的克隆。protected void
通知为此对象上的树选择事件注册的所有监听。返回最后添加的路径。int
返回潜在客户选择索引。<T extends EventListener>
T[]getListeners
(Class<T> listenerType) 返回当前在此模型上注册为FooListener
的所有对象的数组。int
返回从 RowMapper 获得的当前选定 TreePath 集的最大值。int
返回从 RowMapper 获得的当前选定 TreePath 集的最小值。返回在此DefaultTreeSelectionModel
上注册的所有属性更改监听器的数组。返回能够将 TreePath 映射到行的 RowMapper 实例。int
返回选择的路径数。int
返回选择模式,SINGLE_TREE_SELECTION
、DISCONTIGUOUS_TREE_SELECTION
或CONTIGUOUS_TREE_SELECTION
之一。返回选择中的第一条路径。TreePath[]
返回选择。int[]
根据行返回选择。返回在此模型上注册的所有树选择监听的数组。protected void
确保当前选择的TreePath
对当前选择模式有效。protected void
这个方法已经过时了,它的实现现在是一个 noop。boolean
isPathSelected
(TreePath path) 如果路径path
在当前选择中,则返回 true。boolean
isRowSelected
(int row) 如果选择了row
标识的行,则返回 true。boolean
如果选择当前为空,则返回 true。protected void
notifyPathChange
(Vector<?> changedPaths, TreePath oldLeadSelection) 已弃用。从 JDK 版本 1.7 开始void
从监听列表中删除 PropertyChangeListener。void
removeSelectionPath
(TreePath path) 从选择中删除路径。void
removeSelectionPaths
(TreePath[] paths) 从选择中删除路径。void
从每次选定的 TreePath 集更改时通知的监听列表中删除 x。void
更新此对象从 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[] pPaths) 设置选择。toString()
返回显示和标识此对象属性的字符串。protected void
更新 leadIndex 实例变量。
-
字段详细信息
-
SELECTION_MODE_PROPERTY
selectionMode 的属性名称。- 参见:
-
changeSupport
用于向注册的听众发送消息。 -
selection
当前选择的路径。如果当前未选择任何内容,则将为 null。 -
listenerList
事件监听列表。 -
rowMapper
为给定路径提供一行。 -
listSelectionModel
处理维护列表选择模型。 RowMapper 用于从 TreePath 映射到一行,然后将值放在这里。 -
selectionMode
protected int selectionMode选择的模式将为 SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION 或 DISCONTIGUOUS_TREE_SELECTION。 -
leadPath
最后添加的路径。 -
leadIndex
protected int leadIndex选择中引导路径的索引。 -
leadRow
protected int leadRow排头阵。
-
-
构造方法详细信息
-
DefaultTreeSelectionModel
public DefaultTreeSelectionModel()创建一个新的 DefaultTreeSelectionModel 实例,该实例为空,选择模式为 DISCONTIGUOUS_TREE_SELECTION。
-
-
方法详情
-
setRowMapper
设置 RowMapper 实例。此实例用于确定特定 TreePath 的行。- 指定者:
setRowMapper
在接口TreeSelectionModel
中- 参数:
newMapper
- 要设置的 RowMapper
-
getRowMapper
返回能够将 TreePath 映射到行的 RowMapper 实例。- 指定者:
getRowMapper
在接口TreeSelectionModel
中- 返回:
- 能够将 TreePath 映射到行的 RowMapper 实例
-
setSelectionMode
public void setSelectionMode(int mode) 设置选择模型,它必须是 SINGLE_TREE_SELECTION、CONTIGUOUS_TREE_SELECTION 或 DISCONTIGUOUS_TREE_SELECTION 之一。如果模式不是定义值之一,则假定为DISCONTIGUOUS_TREE_SELECTION
。如果当前选择对新模式无效,这可能会更改选择。例如,如果在模式更改为
SINGLE_TREE_SELECTION
时选择了三个 TreePath,则只会保留一个 TreePath。由特定的实现来决定什么 TreePath 保持选中状态。将模式设置为定义类型以外的其他内容将导致模式变为
DISCONTIGUOUS_TREE_SELECTION
。- 指定者:
setSelectionMode
在接口TreeSelectionModel
中- 参数:
mode
- 要设置的选择模式
-
getSelectionMode
public int getSelectionMode()返回选择模式,SINGLE_TREE_SELECTION
、DISCONTIGUOUS_TREE_SELECTION
或CONTIGUOUS_TREE_SELECTION
之一。- 指定者:
getSelectionMode
在接口TreeSelectionModel
中- 返回:
- 当前选择模式
-
setSelectionPath
将选择设置为路径。如果这表示更改,则通知 TreeSelectionListeners。如果path
为空,这与调用clearSelection
具有相同的效果。- 指定者:
setSelectionPath
在接口TreeSelectionModel
中- 参数:
path
- 选择的新路径
-
setSelectionPaths
设置选择。是否将提供的路径作为新选择取决于选择模式。如果提供的数组为null
或为空,则选择被清除。如果选择模式为SINGLE_TREE_SELECTION
,则仅使用pPaths
中的第一条路径。如果选择模式为CONTIGUOUS_TREE_SELECTION
且提供的路径不连续,则仅使用pPaths
中的第一条路径。如果选择模式为DISCONTIGUOUS_TREE_SELECTION
,则使用所有路径。pPaths
中的所有null
路径都将被忽略。如果这代表一个变化,所有注册的
TreeSelectionListener
都会被通知。引导路径设置为最后一个唯一路径。
从
getSelectionPaths
返回的路径与提供给此方法的路径顺序相同。- 指定者:
setSelectionPaths
在接口TreeSelectionModel
中- 参数:
pPaths
- 新选择
-
addSelectionPath
将路径添加到当前选择。如果路径当前不在选择中,则会通知 TreeSelectionListeners。如果path
为空,则这没有影响。- 指定者:
addSelectionPath
在接口TreeSelectionModel
中- 参数:
path
- 添加到当前选择的新路径
-
addSelectionPaths
将路径添加到当前选择。如果路径中的任何路径当前不在选择中,则会通知 TreeSelectionListeners。如果paths
为 null,则此操作无效。前导路径设置为
paths
中的最后一个元素。如果选择模式是
CONTIGUOUS_TREE_SELECTION
,添加新路径会使选择不连续。然后会产生两件事:如果paths
中的 TreePaths 是连续的,则选择成为这些 TreePaths,否则 TreePaths 不连续并且选择成为paths
中的第一个 TreePath。- 指定者:
addSelectionPaths
在接口TreeSelectionModel
中- 参数:
paths
- 添加到当前选择的新路径
-
removeSelectionPath
从选择中删除路径。如果路径在选择中,则通知 TreeSelectionListeners。如果path
为空,则这没有影响。- 指定者:
removeSelectionPath
在接口TreeSelectionModel
中- 参数:
path
- 从选择中移除的路径
-
removeSelectionPaths
从选择中删除路径。如果路径中的任何路径在选择中,则会通知 TreeSelectionListeners。如果paths
为 null,则此操作无效。- 指定者:
removeSelectionPaths
在接口TreeSelectionModel
中- 参数:
paths
- 从选择中移除的路径
-
getSelectionPath
返回选择中的第一条路径。如果当前仅选择了一个项目,这将很有用。- 指定者:
getSelectionPath
在接口TreeSelectionModel
中- 返回:
- 选择中的第一条路径
-
getSelectionPaths
返回选择。- 指定者:
getSelectionPaths
在接口TreeSelectionModel
中- 返回:
- 选择
-
getSelectionCount
public int getSelectionCount()返回选择的路径数。- 指定者:
getSelectionCount
在接口TreeSelectionModel
中- 返回:
- 选择的路径数
-
isPathSelected
如果路径path
在当前选择中,则返回 true。- 指定者:
isPathSelected
在接口TreeSelectionModel
中- 参数:
path
- 要查找的路径- 返回:
path
是否在当前选择中
-
isSelectionEmpty
public boolean isSelectionEmpty()如果选择当前为空,则返回 true。- 指定者:
isSelectionEmpty
在接口TreeSelectionModel
中- 返回:
- 当前选择是否为空
-
clearSelection
public void clearSelection()清空当前选择。如果这表示当前选择发生变化,则会通知选择监听。- 指定者:
clearSelection
在接口TreeSelectionModel
中
-
addTreeSelectionListener
将 x 添加到监听列表中,每次选定的 TreePath 集更改时都会通知这些监听。- 指定者:
addTreeSelectionListener
在接口TreeSelectionModel
中- 参数:
x
- 要添加的新监听器
-
removeTreeSelectionListener
从每次选定的 TreePath 集更改时通知的监听列表中删除 x。- 指定者:
removeTreeSelectionListener
在接口TreeSelectionModel
中- 参数:
x
- 要删除的监听器
-
getTreeSelectionListeners
返回在此模型上注册的所有树选择监听的数组。- 返回:
-
此模型的所有
TreeSelectionListener
s 或一个空数组(如果当前没有注册树选择监听器) - 自从:
- 1.4
- 参见:
-
fireValueChanged
通知为此对象上的树选择事件注册的所有监听。- 参数:
e
- 表征变化的事件- 参见:
-
getListeners
返回当前在此模型上注册为FooListener
的所有对象的数组。FooListener
是使用addFooListener
方法注册的。您可以使用类文字指定
listenerType
参数,例如FooListener.class
。例如,您可以使用以下代码查询DefaultTreeSelectionModel
m
的树选择监听器:TreeSelectionListener[] tsls = (TreeSelectionListener[])(m.getListeners(TreeSelectionListener.class));
如果不存在这样的监听器,则此方法返回一个空数组。- 类型参数:
T
- 监听器类型- 参数:
listenerType
- 请求的监听器类型- 返回:
-
在此组件上注册为
FooListener
的所有对象的数组,如果没有添加此类监听器,则为空数组 - 抛出:
ClassCastException
- 如果listenerType
没有指定实现java.util.EventListener
的类或接口- 自从:
- 1.3
- 参见:
-
getSelectionRows
public int[] getSelectionRows()根据行返回选择。从getSelectionPaths
返回的TreePath
与此方法之间不一定存在一对一的映射。特别是,如果TreePath
不可见(RowMapper
为对应于TreePath
的行返回-1
),则对应的行不包含在返回的数组中。例如,如果选择由两条路径组成,A
和B
,A
在10
行,B
当前不可见,则此方法返回一个包含单个条目10
的数组。- 指定者:
getSelectionRows
在接口TreeSelectionModel
中- 返回:
- 按行选择
-
getMinSelectionRow
public int getMinSelectionRow()返回从 RowMapper 获得的当前选定 TreePath 集的最小值。如果未选择任何内容,或者没有 RowMapper,则返回 -1。- 指定者:
getMinSelectionRow
在接口TreeSelectionModel
中- 返回:
- 从 RowMapper 获得的当前选定 TreePath 集合的最小值
-
getMaxSelectionRow
public int getMaxSelectionRow()返回从 RowMapper 获得的当前选定 TreePath 集的最大值。如果未选择任何内容,或者没有 RowMapper,则返回 -1。- 指定者:
getMaxSelectionRow
在接口TreeSelectionModel
中- 返回:
- 从 RowMapper 获得的当前选定 TreePath 集合的最大值
-
isRowSelected
public boolean isRowSelected(int row) 如果选择了row
标识的行,则返回 true。- 指定者:
isRowSelected
在接口TreeSelectionModel
中- 参数:
row
- 要检查的行- 返回:
- 行是否被选中
-
resetRowSelection
public void resetRowSelection()更新此对象从 TreePath 到行的映射。这应该在从 TreePaths 到整数的映射发生变化时调用(例如,一个节点已经展开)。您通常不必调用它,JTree 及其关联的监听将为您调用它。如果您要实现自己的 View 类,则必须调用它。
这将调用
insureRowContinuity
以确保当前选择的 TreePaths 根据选择模式仍然有效。- 指定者:
resetRowSelection
在接口TreeSelectionModel
中
-
getLeadSelectionRow
public int getLeadSelectionRow()返回潜在客户选择索引。这是最后添加的索引。- 指定者:
getLeadSelectionRow
在接口TreeSelectionModel
中- 返回:
- 铅选择指数
-
getLeadSelectionPath
返回最后添加的路径。这可能不同于 JTree 维护的 leadSelectionPath 属性。- 指定者:
getLeadSelectionPath
在接口TreeSelectionModel
中- 返回:
- 最后添加的路径
-
addPropertyChangeListener
将 PropertyChangeListener 添加到监听列表。监听已为所有属性注册。选择模式更改时将触发 PropertyChangeEvent。
- 指定者:
addPropertyChangeListener
在接口TreeSelectionModel
中- 参数:
listener
- 要添加的 PropertyChangeListener
-
removePropertyChangeListener
从监听列表中删除 PropertyChangeListener。这将删除为所有属性注册的 PropertyChangeListener。- 指定者:
removePropertyChangeListener
在接口TreeSelectionModel
中- 参数:
listener
- 要删除的 PropertyChangeListener
-
getPropertyChangeListeners
返回在此DefaultTreeSelectionModel
上注册的所有属性更改监听器的数组。- 返回:
-
此模型的所有
PropertyChangeListener
s 或空数组(如果当前未注册属性更改监听器) - 自从:
- 1.4
- 参见:
-
insureRowContinuity
protected void insureRowContinuity()确保当前选择的TreePath
对当前选择模式有效。如果选择模式是CONTIGUOUS_TREE_SELECTION
并且RowMapper
存在,这将确保所有行都是连续的,也就是说,当排序时所有行都是按顺序排列的,没有间隙。如果所选内容不连续,则所选内容将重置为包含排序后的第一组连续行。如果选择模式为
SINGLE_TREE_SELECTION
并且选择了多个 TreePath,则选择将重置为包含当前选择的第一个路径。 -
arePathsContiguous
如果路径是连续的,或者此对象没有 RowMapper,则返回 true。- 参数:
paths
- 要检查的路径数组- 返回:
- 路径是否连续,或者此对象没有 RowMapper
-
canPathsBeAdded
用于测试是否可以添加一组特定的TreePath
。如果paths
为 null(或空),或者此对象没有 RowMapper,或者当前未选择任何内容,或者选择模式为DISCONTIGUOUS_TREE_SELECTION
,或者将路径添加到当前选择仍然会导致一组连续的TreePath
,这将返回 true .- 参数:
paths
- 要检查的TreePaths
数组- 返回:
-
是否可以添加特定的
TreePaths
集
-
canPathsBeRemoved
如果可以在不破坏模型连续性的情况下删除路径,则返回 true。这个比较贵。- 参数:
paths
- 要检查的TreePath
数组- 返回:
- 是否可以在不破坏模型连续性的情况下删除路径
-
notifyPathChange
已弃用。从 JDK 版本 1.7 开始通知监听路径发生变化。 changePaths 应该包含 PathPlaceHolder 的实例。- 参数:
changedPaths
- 更改路径的向量oldLeadSelection
- 旧的选择路径
-
updateLeadIndex
protected void updateLeadIndex()更新 leadIndex 实例变量。 -
insureUniqueness
protected void insureUniqueness()这个方法已经过时了,它的实现现在是一个 noop。它仍然由 setSelectionPaths 和 addSelectionPaths 调用,但只是为了向后兼容。 -
toString
返回显示和标识此对象属性的字符串。 -
clone
返回具有相同选择的此对象的克隆。此方法不会复制选择监听和属性监听。- 重写:
clone
在类Object
中- 返回:
- 此实例的克隆。
- 抛出:
CloneNotSupportedException
- 从未被此类的实例抛出- 参见:
-