- 所有已知的实现类:
-
DefaultListSelectionModel
public interface ListSelectionModel
该接口表示显示具有稳定索引的值列表的任何组件的选择的当前状态。选择被建模为一组间隔,每个间隔表示一系列连续的选定列表元素。用于修改所选间隔集的方法都采用一对索引,index0和index1,表示闭合间隔,即该间隔包括index0和index1。
- 自:
- 1.2
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
选择模式属性的一个值: 一次选择一个或多个连续的索引范围。static final int
选择模式属性的一个值: 一次选择一个连续的索引范围。static final int
选择模式属性的一个值: 一次选择一个列表索引。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
向列表添加一个侦听器,每当选择发生更改时通知。void
addSelectionInterval
(int index0, int index1) 将选择更改为当前选择和index0和index1之间的索引(包括index0和index1)的集合并集。void
将选择更改为空集。int
返回最近一次调用setSelectionInterval()、addSelectionInterval()或removeSelectionInterval()的第一个索引参数。int
返回最近一次调用setSelectionInterval()、addSelectionInterval()或removeSelectionInterval()的第二个索引参数。int
返回最后一个选定的索引,如果选择为空则返回-1。int
返回第一个选定的索引,如果选择为空则返回-1。default int[]
返回选择模型中所有选定索引的数组,按升序排列。default int
返回选定项的数量。int
返回当前选择模式。boolean
如果选择正在进行一系列更改,则返回true。void
insertIndexInterval
(int index, int length, boolean before) 在index之前/之后插入length个索引。boolean
isSelectedIndex
(int index) 如果指定的索引被选中,则返回true。boolean
如果没有索引被选中,则返回true。void
removeIndexInterval
(int index0, int index1) 从选择模型中删除间隔index0,index1(包括)中的索引。void
从列表中删除每次选择更改时通知的侦听器。void
removeSelectionInterval
(int index0, int index1) 将选择更改为当前选择和index0和index1之间的索引(包括index0和index1)的集合差集。void
setAnchorSelectionIndex
(int index) 设置锚定选择索引。void
setLeadSelectionIndex
(int index) 设置主导选择索引。void
setSelectionInterval
(int index0, int index1) 将选择更改为index0和index1之间的索引(包括index0和index1)。void
setSelectionMode
(int selectionMode) 设置选择模式。void
setValueIsAdjusting
(boolean valueIsAdjusting) 设置valueIsAdjusting属性,指示即将发生的选择更改是否应视为单个更改的一部分。
-
Field Details
-
SINGLE_SELECTION
static final int SINGLE_SELECTION选择模式属性的一个值: 一次选择一个列表索引。- 参见:
-
SINGLE_INTERVAL_SELECTION
static final int SINGLE_INTERVAL_SELECTION选择模式属性的一个值: 一次选择一个连续的索引范围。- 参见:
-
MULTIPLE_INTERVAL_SELECTION
static final int MULTIPLE_INTERVAL_SELECTION选择模式属性的一个值: 一次选择一个或多个连续的索引范围。- 参见:
-
-
Method Details
-
setSelectionInterval
void setSelectionInterval(int index0, int index1) 将选择更改为index0和index1之间的索引(包括index0和index1)。index0不必小于或等于index1。在SINGLE_SELECTION选择模式下,仅使用第二个索引。
如果这代表对当前选择的更改,则通知每个ListSelectionListener更改。
- 参数:
-
index0
- 区间的一端。 -
index1
- 区间的另一端 - 参见:
-
addSelectionInterval
void addSelectionInterval(int index0, int index1) 将选择更改为当前选择和index0和index1之间的索引(包括index0和index1)的集合并集。index0不必小于或等于index1。在SINGLE_SELECTION选择模式下,这等效于调用setSelectionInterval,并且仅使用第二个索引。在SINGLE_INTERVAL_SELECTION选择模式下,此方法的行为类似于setSelectionInterval,除非给定的间隔与现有选择紧邻或重叠,因此可用于扩展选择。
如果这代表对当前选择的更改,则通知每个ListSelectionListener更改。
- 参数:
-
index0
- 区间的一端。 -
index1
- 区间的另一端 - 参见:
-
removeSelectionInterval
void removeSelectionInterval(int index0, int index1) 将选择更改为当前选择和index0和index1之间的索引(包括index0和index1)的集合差集。index0不必小于或等于index1。在SINGLE_INTERVAL_SELECTION选择模式下,如果移除会产生两个不相交的选择,则移除将通过选择的较大端扩展。例如,如果选择是0-10,并且提供索引5,6(任意顺序),则结果选择是0-4。
如果这代表对当前选择的更改,则通知每个ListSelectionListener更改。
- 参数:
-
index0
- 区间的一端。 -
index1
- 区间的另一端 - 参见:
-
getMinSelectionIndex
int getMinSelectionIndex()返回第一个选定的索引,如果选择为空则返回-1。- 返回:
- 第一个选定的索引,如果选择为空则返回-1。
-
getMaxSelectionIndex
int getMaxSelectionIndex()返回最后一个选定的索引,如果选择为空则返回-1。- 返回:
- 最后一个选定的索引,如果选择为空则返回-1。
-
isSelectedIndex
boolean isSelectedIndex(int index) 如果指定的索引被选中,则返回true。- 参数:
-
index
- 一个索引 - 返回:
- 如果指定的索引被选中,则返回true
-
getAnchorSelectionIndex
int getAnchorSelectionIndex()返回最近一次调用setSelectionInterval()、addSelectionInterval()或removeSelectionInterval()的第一个索引参数。最近的index0被视为“锚点”,最近的index1被视为“主导”。一些界面会特殊显示这些索引,例如Windows95会用虚线黄色轮廓显示主导索引。- 返回:
- 锚定选择索引
- 参见:
-
setAnchorSelectionIndex
void setAnchorSelectionIndex(int index) 设置锚定选择索引。- 参数:
-
index
- 锚定选择索引 - 参见:
-
getLeadSelectionIndex
int getLeadSelectionIndex()返回最近一次调用setSelectionInterval()、addSelectionInterval()或removeSelectionInterval()的第二个索引参数。- 返回:
- 主导选择索引。
- 参见:
-
setLeadSelectionIndex
void setLeadSelectionIndex(int index) 设置主导选择索引。- 参数:
-
index
- 主导选择索引 - 参见:
-
clearSelection
void clearSelection()将选择更改为空集。如果这代表对当前选择的更改,则通知每个ListSelectionListener。- 参见:
-
isSelectionEmpty
boolean isSelectionEmpty()如果没有索引被选中,则返回true。- 返回:
- 如果没有索引被选中,则返回true。
-
insertIndexInterval
void insertIndexInterval(int index, int length, boolean before) 在index
之前/之后插入length
个索引。通常用于将选择模型与数据模型的相应更改同步。- 参数:
-
index
- 区间的起始位置 -
length
- 区间的长度 -
before
- 如果为true
,则在index
之前插入区间,否则在index
之后插入区间
-
removeIndexInterval
void removeIndexInterval(int index0, int index1) 从选择模型中删除区间index0,index1
(包括这两个索引)。通常用于将选择模型与数据模型的相应更改同步。- 参数:
-
index0
- 区间的起始位置 -
index1
- 区间的结束位置
-
setValueIsAdjusting
void setValueIsAdjusting(boolean valueIsAdjusting) 设置valueIsAdjusting
属性,指示即将发生的选择更改是否应视为单个更改的一部分。此属性的值用于初始化生成的ListSelectionEvent
的valueIsAdjusting
属性。例如,如果选择正在响应用户拖动而更新,则可以在拖动开始时将此属性设置为
true
,并在拖动结束时将其设置为false
。在拖动过程中,侦听器接收到具有valueIsAdjusting
属性设置为true
的事件。在拖动结束时,当更改完成时,侦听器接收到值设置为false
的事件。如果希望仅在更改完成时更新,则侦听器可以使用此模式。将此属性设置为
true
将开始一系列被视为单个更改的更改。当属性再次更改为false
时,将发送一个事件,描述整个选择更改(如果有的话),事件的valueIsAdjusting
属性设置为false
。- 参数:
-
valueIsAdjusting
- 属性的新值 - 另请参阅:
-
getValueIsAdjusting
boolean getValueIsAdjusting()如果选择正在进行一系列更改,则返回true
。- 返回:
-
如果选择正在进行一系列更改,则返回
true
- 另请参阅:
-
setSelectionMode
void setSelectionMode(int selectionMode) 设置选择模式。以下列表描述了可接受的选择模式:ListSelectionModel.SINGLE_SELECTION
- 一次只能选择一个列表索引。在此模式下,setSelectionInterval
和addSelectionInterval
是等效的,都用第二个参数("lead")表示的索引替换当前选择。ListSelectionModel.SINGLE_INTERVAL_SELECTION
- 一次只能选择一个连续区间。在此模式下,addSelectionInterval
的行为类似于setSelectionInterval
(替换当前选择),除非给定的区间与现有选择紧邻或重叠,因此可以用于扩展选择。ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
- 在此模式下,可以选择任何内容。
- 参数:
-
selectionMode
- 选择模式 - 抛出:
-
IllegalArgumentException
- 如果选择模式不是允许的模式之一 - 另请参阅:
-
getSelectionMode
int getSelectionMode()返回当前选择模式。- 返回:
- 当前选择模式
- 另请参阅:
-
addListSelectionListener
向列表添加侦听器,每当选择发生更改时通知。- 参数:
-
x
- ListSelectionListener - 另请参阅:
-
removeListSelectionListener
从列表中移除侦听器,每当选择发生更改时通知。- 参数:
-
x
- ListSelectionListener - 另请参阅:
-
getSelectedIndices
default int[] getSelectedIndices()返回选择模型中所有选定索引的数组,按升序排列。- 实现要求:
-
默认实现从最小选定索引
getMinSelectionIndex()
到最大选定索引getMaxSelectionIndex()
进行迭代,并返回新分配的int数组中选定的索引isSelectedIndex(int)
。 - 返回:
- 所有选定的索引,按升序排列,如果没有选定任何内容,则返回空数组
- 自:
- 11
- 另请参阅:
-
getSelectedItemsCount
default int getSelectedItemsCount()返回选定项的数量。- 实现要求:
-
默认实现从最小选定索引
getMinSelectionIndex()
到最大选定索引getMaxSelectionIndex()
进行迭代,并返回选定索引isSelectedIndex(int)
的数量 - 返回:
- 选定项的数量,如果没有选定任何项,则为0
- 自:
- 11
-