- java.lang.Object
-
- javafx.scene.control.SelectionModel<T>
-
- javafx.scene.control.MultipleSelectionModel<T>
-
- javafx.scene.control.TableSelectionModel<T>
-
- 参数类型
-
T
- UI控件的基础数据模型的类型。
public abstract class TableSelectionModel<T> extends MultipleSelectionModel<T>
在表类控件中使用的MultipleSelectionModel实现的抽象基类(最着名的是TableView
和TreeTableView
) 。- 从以下版本开始:
- JavaFX 8.0
-
-
Property Summary
Properties Type Property 描述 BooleanProperty
cellSelectionEnabled
一个布尔属性,用于表示表是行还是单元格选择模式。-
Properties inherited from class javafx.scene.control.MultipleSelectionModel
selectionMode
-
Properties inherited from class javafx.scene.control.SelectionModel
selectedIndex, selectedItem
-
-
构造方法摘要
构造方法 Constructor 描述 TableSelectionModel()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 BooleanProperty
cellSelectionEnabledProperty()
一个布尔属性,用于表示表是行还是单元格选择模式。void
clearAndSelect(int row)
在将选择设置为给定索引之前清除任何选择的方法。abstract void
clearAndSelect(int row, TableColumnBase<T,?> column)
清除所有选择,然后选择给定行/列交点处的单元格。void
clearSelection()
清除所有选定索引的选择模型。void
clearSelection(int index)
该方法将清除给定索引中项目的选择。abstract void
clearSelection(int row, TableColumnBase<T,?> column)
从指定的行/列位置(视图索引)中移除选择。protected abstract void
focus(int index)
protected abstract int
getFocusedIndex()
protected abstract int
getItemCount()
返回数据模型中支配控件的项目数。protected abstract T
getModelItem(int index)
返回给定索引处的项目。ObservableList<Integer>
getSelectedIndices()
返回所有选定索引的 只读 ObservableList。ObservableList<T>
getSelectedItems()
返回所有选定项目的 只读 ObservableList。boolean
isCellSelectionEnabled()
获取属性cellSelectionEnabled的值。boolean
isEmpty()
该方法可用于测试是否有任何选定的索引/项目。boolean
isSelected(int index)
通知此SelectionModel中当前选定给定索引的方便方法。abstract boolean
isSelected(int row, TableColumnBase<T,?> column)
测试在此表实例中当前是否选择给定行和列索引的便利函数。void
select(int row)
这将在选择模型中选择给定的索引,假设索引在有效范围内(即大于或等于零,并且小于底层数据模型中的项目总数)。void
select(T obj)
此方法将尝试选择包含给定对象的索引。abstract void
select(int row, TableColumnBase<T,?> column)
选择给定的行/列交叉点的单元格。abstract void
selectAboveCell()
选择当前所选单元格正上方的单元格。void
selectAll()
方便的方法来选择所有可用的索引。abstract void
selectBelowCell()
选择当前选定单元格正下方的单元格。void
selectFirst()
该方法将尝试选择控件中的第一个索引。void
selectIndices(int row, int... rows)
该方法允许同时设置一个或多个选择。void
selectLast()
此方法将尝试选择控件中的最后一个索引。abstract void
selectLeftCell()
选择当前所选单元格左侧的单元格。void
selectNext()
此方法将尝试在当前焦点索引之后直接选择索引。void
selectPrevious()
此方法将尝试直接在当前聚焦索引之前选择索引。abstract void
selectRange(int minRow, TableColumnBase<T,?> minColumn, int maxRow, TableColumnBase<T,?> maxColumn)
选择范围内的单元格(minRow,minColumn)至(maxRow,maxColumn)(包括)。abstract void
selectRightCell()
选择当前所选单元格右侧的单元格。void
setCellSelectionEnabled(boolean value)
设置属性cellSelectionEnabled的值。-
Methods inherited from class javafx.scene.control.MultipleSelectionModel
getSelectionMode, selectionModeProperty, selectRange, setSelectionMode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class javafx.scene.control.SelectionModel
getSelectedIndex, getSelectedItem, selectedIndexProperty, selectedItemProperty, setSelectedIndex, setSelectedItem
-
-
-
-
Property Detail
-
cellSelectionEnabled
public final BooleanProperty cellSelectionEnabledProperty
一个布尔属性,用于表示表是行还是单元格选择模式。 默认情况下,表处于行选择模式,这意味着无法选择单个单元格。 设置cellSelectionEnabled
在单元格能够被选择(但不是行)中是真实的结果。
-
-
方法详细信息
-
isSelected
public abstract boolean isSelected(int row, TableColumnBase<T,?> column)
测试在此表实例中当前是否选择给定行和列索引的便利函数。 如果表控件处于其“单元格选择”模式(可以选择单个单元格而不是整个行),并且如果列参数为空,则只有在给定行中的所有单元格被选中时,此方法才应返回true。- 参数
-
row
- 行 -
column
- 列 - 结果
- 如果当前在此表实例中选择了给定的行和列索引,则为true
-
select
public abstract void select(int row, TableColumnBase<T,?> column)
选择给定的行/列交叉点的单元格。 如果表控件处于其“单元格选择”模式(可以选择单个单元格而不是整行),并且如果列参数为空,则此方法应选择给定行中的所有单元格。- 参数
-
row
- 行 -
column
- 列
-
clearAndSelect
public abstract void clearAndSelect(int row, TableColumnBase<T,?> column)
清除所有选择,然后选择给定行/列交点处的单元格。 如果表控件处于其“单元格选择”模式(可以选择单个单元格而不是整行),并且如果列参数为空,则此方法应选择给定行中的所有单元格。- 参数
-
row
- 行 -
column
- 列
-
clearSelection
public abstract void clearSelection(int row, TableColumnBase<T,?> column)
从指定的行/列位置(视图索引)中移除选择。 如果没有选择这个特定的单元格(如果列值为-1),则不会发生任何事情。 如果表格控件处于其“单元格选择”模式(可以选择单个单元格而不是整个行),并且如果列参数为空,则此方法应取消选择给定行中的所有单元格。- 参数
-
row
- 行 -
column
- 列
-
selectLeftCell
public abstract void selectLeftCell()
选择当前所选单元格左侧的单元格。
-
selectRightCell
public abstract void selectRightCell()
选择当前所选单元格右侧的单元格。
-
selectAboveCell
public abstract void selectAboveCell()
选择当前所选单元格正上方的单元格。
-
selectBelowCell
public abstract void selectBelowCell()
选择当前选定单元格正下方的单元格。
-
selectRange
public abstract void selectRange(int minRow, TableColumnBase<T,?> minColumn, int maxRow, TableColumnBase<T,?> maxColumn)
选择范围内的单元格(minRow,minColumn)至(maxRow,maxColumn)(包括)。- 参数
-
minRow
- minRow -
minColumn
- minColumn -
maxRow
- maxRow -
maxColumn
- maxColumn
-
cellSelectionEnabledProperty
public final BooleanProperty cellSelectionEnabledProperty()
一个布尔属性,用于表示表是行还是单元格选择模式。 默认情况下,表处于行选择模式,这意味着无法选择单个单元格。 设置cellSelectionEnabled
在能够被选择(但不是行)的单元格中是真实的结果。
-
setCellSelectionEnabled
public final void setCellSelectionEnabled(boolean value)
设置属性cellSelectionEnabled的值。- Property description:
-
一个布尔属性,用于表示表是行还是单元格选择模式。
默认情况下,表处于行选择模式,这意味着无法选择单个单元格。
设置
cellSelectionEnabled
在能够被选择(但不是行)的单元格中是真实的结果。
-
isCellSelectionEnabled
public final boolean isCellSelectionEnabled()
获取属性cellSelectionEnabled的值。- Property description:
-
一个布尔属性,用于表示表是行还是单元格选择模式。
默认情况下,表处于行选择模式,这意味着无法选择单个单元格。
设置
cellSelectionEnabled
在能够被选择(但不是行)的单元格中是真实的结果。
-
getSelectedIndices
public ObservableList<Integer> getSelectedIndices()
描述从类复制:MultipleSelectionModel
返回所有选定索引的只读 ObservableList。 ObservableList将由选择模型更新以始终反映选择的变化。 这可以通过向返回的ObservableList添加一个
ListChangeListener
来观察。- Specified by:
-
getSelectedIndices
在MultipleSelectionModel<T>
- 结果
- 所选索引的列表
-
getSelectedItems
public ObservableList<T> getSelectedItems()
描述从类复制:MultipleSelectionModel
返回所有选定项目的只读 ObservableList。 ObservableList将通过选择模型进一步更新以始终反映选择的变化。 这可以通过向返回的ObservableList添加一个
ListChangeListener
来观察。- Specified by:
-
getSelectedItems
在MultipleSelectionModel<T>
- 结果
- 所选项目的列表
-
getItemCount
protected abstract int getItemCount()
返回数据模型中支配控件的项目数。 一个例子就是ListView选择模型可能会返回listView.getItems().size()
。 可选索引的有效范围在0和此方法返回的任何值之间。- 结果
- 支持控制的数据模型中的项目数
-
getModelItem
protected abstract T getModelItem(int index)
返回给定索引处的项目。 使用ListView的示例将为listView.getItems().get(index)
。- 参数
-
index
- 从底层数据模型请求的项目的索引。 - 结果
- 如果索引超出范围,则返回null,或者与给定索引相关的类型T的元素。
-
focus
protected abstract void focus(int index)
-
getFocusedIndex
protected abstract int getFocusedIndex()
-
clearAndSelect
public void clearAndSelect(int row)
描述从类复制:SelectionModel
在将选择设置为给定索引之前清除任何选择的方法。 该方法的目的是避免首先调用SelectionModel.clearSelection()
,这意味着正在监听selected index
属性的观察者将不会将所选索引临时设置为-1。- Specified by:
-
clearAndSelect
在SelectionModel<T>
- 参数
-
row
- 应该是此选择模型中唯一选择的索引的索引。
-
select
public void select(int row)
描述从类复制:SelectionModel
这将在选择模型中选择给定的索引,假设索引在有效范围内(即大于或等于零,并且小于底层数据模型中的项目总数)。
如果在此模型中已经选择了一个或多个索引,调用此方法将不会清除这些选择 - 为此,有必要首先调用
SelectionModel.clearSelection()
。如果索引已被选中,则不会再次选择或未选择。 然而,如果实现了多个选择,则对已经选择的索引进行调用select将使索引成为新的所选索引(由
SelectionModel.getSelectedIndex()
返回)。- Specified by:
-
select
在SelectionModel<T>
- 参数
-
row
- 要在选择模型中选择的项目的位置。
-
select
public void select(T obj)
描述从类别复制:SelectionModel
此方法将尝试选择包含给定对象的索引。 它将遍历底层数据模型,直到找到一个值等于给定对象的项。 在这一点上它将停止迭代 - 这意味着该方法将不会选择多个索引。
- Specified by:
-
select
在SelectionModel<T>
- 参数
-
obj
- 要在底层数据模型中选择的对象。
-
selectIndices
public void selectIndices(int row, int... rows)
描述从类复制:MultipleSelectionModel
该方法允许同时设置一个或多个选择。 它将忽略不在有效范围内的任何值(即大于或等于零,小于底层数据模型中的项目总数)。 任何重复的索引都将被忽略。
如果在此模型中已经选择了一个或多个索引,则调用此方法将不会清除这些选择 - 为此,必须首先调用clearSelection。
给定的最后一个有效值将成为所选择的索引/选定项目。
- Specified by:
-
selectIndices
在MultipleSelectionModel<T>
- 参数
-
row
- 第一个索引选择 -
rows
- 零个或多个附加索引进行选择
-
selectAll
public void selectAll()
描述从类复制:MultipleSelectionModel
方便的方法来选择所有可用的索引。
- Specified by:
-
selectAll
在MultipleSelectionModel<T>
-
selectFirst
public void selectFirst()
描述从类复制MultipleSelectionModel
该方法将尝试选择控件中的第一个索引。 如果首先不调用clearSelection,则该方法将具有选择第一个索引的结果,同时保留对当前其他任何索引的选择。
如果已经选择了第一个索引,调用此方法将不会产生任何结果,并且不会执行选择事件。
- Specified by:
-
selectFirst
在MultipleSelectionModel<T>
-
selectLast
public void selectLast()
描述从类复制:MultipleSelectionModel
此方法将尝试选择控件中的最后一个索引。 如果没有首先调用clearSelection,则该方法将具有选择最后一个索引的结果,同时保留对其他当前选定索引的选择。
如果最后一个索引已经被选中,调用该方法将不会有结果,并且不会发生选择事件。
- Specified by:
-
selectLast
在MultipleSelectionModel<T>
-
clearSelection
public void clearSelection(int index)
描述从类复制:SelectionModel
该方法将清除给定索引中项目的选择。 如果没有选择给定的索引,则不会发生任何事情。
- Specified by:
-
clearSelection
在SelectionModel<T>
- 参数
-
index
- 要取消选择的选定项目。
-
clearSelection
public void clearSelection()
描述从类复制:SelectionModel
清除所有选定索引的选择模型。
- Specified by:
-
clearSelection
在SelectionModel<T>
-
isSelected
public boolean isSelected(int index)
描述从类复制:SelectionModel
通知此SelectionModel中当前选定给定索引的方便方法。 在功能上相当于调用
getSelectedIndices().contains(index)
。- Specified by:
-
isSelected
在SelectionModel<T>
- 参数
-
index
- 检查当前是否选择的索引。 - 结果
- 如果给定的索引被选择,则为真,否则为false。
-
isEmpty
public boolean isEmpty()
描述从类复制:SelectionModel
该方法可用于测试是否有任何选定的索引/项目。 如果没有选定的项目,它将返回true,如果有,则返回false。- Specified by:
-
isEmpty
在SelectionModel<T>
- 结果
- 如果 没有选择的项目将返回true,如果有的话将返回false。
-
selectPrevious
public void selectPrevious()
描述从类复制:SelectionModel
此方法将尝试直接在当前聚焦索引之前选择索引。 如果没有首先调用clearSelection,则该方法将具有选择先前索引的结果,同时保留对其他当前选择的索引的选择。
调用此方法将仅在以下情况下成功:
- 目前有一个主角/重点指数。
- 主要/焦点指数不是控制中的第一个指标。
- 以前的索引尚未被选中。
如果这些条件中的任何一个都是假的,则不会发生选择事件。
- Specified by:
-
selectPrevious
在SelectionModel<T>
-
selectNext
public void selectNext()
描述从类复制:SelectionModel
此方法将尝试在当前焦点索引之后直接选择索引。 如果没有首先调用clearSelection,则该方法将具有选择下一个索引的结果,同时保留对任何其他当前选择的索引的选择。
调用此方法将仅在以下情况下成功:
- 目前有一个主角/重点指数。
- 主要/焦点指数不是控件中的最后一个指标。
- 下一个索引尚未被选中。
如果这些条件中的任何一个都是假的,则不会发生选择事件。
- Specified by:
-
selectNext
在SelectionModel<T>
-
-