- 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 描述 BooleanPropertycellSelectionEnabled一个布尔属性,用于表示表是行还是单元格选择模式。-
Properties inherited from class javafx.scene.control.MultipleSelectionModel
selectionMode
-
Properties inherited from class javafx.scene.control.SelectionModel
selectedIndex, selectedItem
-
-
构造方法摘要
构造方法 Constructor 描述 TableSelectionModel()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 BooleanPropertycellSelectionEnabledProperty()一个布尔属性,用于表示表是行还是单元格选择模式。voidclearAndSelect(int row)在将选择设置为给定索引之前清除任何选择的方法。abstract voidclearAndSelect(int row, TableColumnBase<T,?> column)清除所有选择,然后选择给定行/列交点处的单元格。voidclearSelection()清除所有选定索引的选择模型。voidclearSelection(int index)该方法将清除给定索引中项目的选择。abstract voidclearSelection(int row, TableColumnBase<T,?> column)从指定的行/列位置(视图索引)中移除选择。protected abstract voidfocus(int index)protected abstract intgetFocusedIndex()protected abstract intgetItemCount()返回数据模型中支配控件的项目数。protected abstract TgetModelItem(int index)返回给定索引处的项目。ObservableList<Integer>getSelectedIndices()返回所有选定索引的 只读 ObservableList。ObservableList<T>getSelectedItems()返回所有选定项目的 只读 ObservableList。booleanisCellSelectionEnabled()获取属性cellSelectionEnabled的值。booleanisEmpty()该方法可用于测试是否有任何选定的索引/项目。booleanisSelected(int index)通知此SelectionModel中当前选定给定索引的方便方法。abstract booleanisSelected(int row, TableColumnBase<T,?> column)测试在此表实例中当前是否选择给定行和列索引的便利函数。voidselect(int row)这将在选择模型中选择给定的索引,假设索引在有效范围内(即大于或等于零,并且小于底层数据模型中的项目总数)。voidselect(T obj)此方法将尝试选择包含给定对象的索引。abstract voidselect(int row, TableColumnBase<T,?> column)选择给定的行/列交叉点的单元格。abstract voidselectAboveCell()选择当前所选单元格正上方的单元格。voidselectAll()方便的方法来选择所有可用的索引。abstract voidselectBelowCell()选择当前选定单元格正下方的单元格。voidselectFirst()该方法将尝试选择控件中的第一个索引。voidselectIndices(int row, int... rows)该方法允许同时设置一个或多个选择。voidselectLast()此方法将尝试选择控件中的最后一个索引。abstract voidselectLeftCell()选择当前所选单元格左侧的单元格。voidselectNext()此方法将尝试在当前焦点索引之后直接选择索引。voidselectPrevious()此方法将尝试直接在当前聚焦索引之前选择索引。abstract voidselectRange(int minRow, TableColumnBase<T,?> minColumn, int maxRow, TableColumnBase<T,?> maxColumn)选择范围内的单元格(minRow,minColumn)至(maxRow,maxColumn)(包括)。abstract voidselectRightCell()选择当前所选单元格右侧的单元格。voidsetCellSelectionEnabled(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>
-
-