Module  javafx.controls
软件包  javafx.scene.control

Class TableView.TableViewSelectionModel<S>

  • Enclosing class:
    TableView < S >


    public abstract static class TableView.TableViewSelectionModel<S>
    extends TableSelectionModel<S>
    SelectionModel抽象类的简单扩展,允许对TableView控件的特殊支持。
    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • TableViewSelectionModel

        public TableViewSelectionModel​(TableView<S> tableView)
        使用提供的TableView构建默认的TableViewSelectionModel实例。
        参数
        tableView - 此选择模型应在其上运行的TableView。
        异常
        NullPointerException - TableView不能为空。
    • 方法详细信息

      • getSelectedCells

        public abstract ObservableList<TablePosition> getSelectedCells​()
        一个只读ObservableList,表示此TableView中当前选定的单元格。 而不是直接修改此列表,请使用TableViewSelectionModel中提供的其他方法。
        结果
        一个只读ObservableList,表示此TableView中当前选定的单元格
      • isSelected

        public boolean isSelected​(int row,
                                  TableColumnBase<S,?> column)
        测试在此表实例中当前是否选择给定行和列索引的便利函数。 如果表控件处于其“单元格选择”模式(可以选择单个单元格而不是整个行),并且如果列参数为空,则只有在给定行中的所有单元格被选中时,此方法才应返回true。
        Specified by:
        isSelectedTableSelectionModel<S>
        参数
        row - 行
        column - 列
        结果
        如果当前在此表实例中选择了给定的行和列索引,则为true
      • isSelected

        public abstract boolean isSelected​(int row,
                                           TableColumn<S,?> column)
        测试在此表实例中当前是否选择给定行和列索引的便利函数。
        参数
        row - 行
        column - 列
        结果
        如果当前选择了行和列索引,则为true
      • select

        public void select​(int row,
                           TableColumnBase<S,?> column)
        选择给定的行/列交叉点的单元格。 如果表控件处于其“单元格选择”模式(可以选择单个单元格而不是整行),并且如果列参数为空,则此方法应选择给定行中的所有单元格。
        Specified by:
        selectTableSelectionModel<S>
        参数
        row - 行
        column - 列
      • select

        public abstract void select​(int row,
                                    TableColumn<S,?> column)
        选择给定的行/列交叉点的单元格。
        参数
        row - 行
        column - 列
      • clearAndSelect

        public void clearAndSelect​(int row,
                                   TableColumnBase<S,?> column)
        清除所有选择,然后选择给定行/列交点处的单元格。 如果表控件处于其“单元格选择”模式(可以选择单个单元格而不是整行),并且如果列参数为空,则此方法应选择给定行中的所有单元格。
        Specified by:
        clearAndSelectTableSelectionModel<S>
        参数
        row - 行
        column - 列
      • clearAndSelect

        public abstract void clearAndSelect​(int row,
                                            TableColumn<S,?> column)
        清除所有选择,然后选择给定行/列交点处的单元格。
        参数
        row - 行
        column - 列
      • clearSelection

        public void clearSelection​(int row,
                                   TableColumnBase<S,?> column)
        从指定的行/列位置(视图索引)中移除选择。 如果没有选择这个特定的单元格(如果列值为-1),则不会发生任何事情。 如果表格控件处于其“单元格选择”模式(可以选择单个单元格而不是整个行),并且如果列参数为空,则此方法应取消选择给定行中的所有单元格。
        Specified by:
        clearSelectionTableSelectionModel<S>
        参数
        row - 行
        column - 列
      • clearSelection

        public abstract void clearSelection​(int row,
                                            TableColumn<S,?> column)
        从指定的行/列位置(视图索引)中移除选择。 如果没有选择这个特定的单元格(如果列值为-1),则不会发生任何事情。
        参数
        row - 行
        column - 列
      • selectRange

        public void selectRange​(int minRow,
                                TableColumnBase<S,?> minColumn,
                                int maxRow,
                                TableColumnBase<S,?> maxColumn)
        选择范围内的单元格(minRow,minColumn)至(maxRow,maxColumn)(包括)。
        Specified by:
        selectRangeTableSelectionModel<S>
        参数
        minRow - minRow
        minColumn - minColumn
        maxRow - maxRow
        maxColumn - maxColumn
      • getTableView

        public TableView<S> getTableView​()
        返回安装此选择模型的TableView实例。
        结果
        TableView
      • getTableModel

        protected List<S> getTableModel​()
        getTableView()。getItems()的方便方法。
        结果
        当前TableView的项目列表。
      • getModelItem

        protected S getModelItem​(int index)
        返回给定索引处的项目。 使用ListView的示例将为listView.getItems().get(index)
        参数
        index - 从基础数据模型请求的项目的索引。
        结果
        如果索引超出范围,则返回null,或者与给定索引相关的类型T的元素。
      • getItemCount

        protected int getItemCount​()
        返回数据模型中支配控件的项目数。 一个例子就是ListView选择模型可能会返回listView.getItems().size() 可选索引的有效范围在0和此方法返回的任何值之间。
        结果
        支持控制的数据模型中的项目数
      • focus

        public void focus​(int row)
      • getFocusedIndex

        public int getFocusedIndex​()
      • select

        public void select​(int row)
        描述从类别SelectionModel复制

        这将在选择模型中选择给定的索引,假设索引在有效范围内(即大于或等于零,并且小于底层数据模型中的项目总数)。

        如果在此模型中已经选择了一个或多个索引,调用此方法将不会清除这些选择 - 为此,有必要首先调用SelectionModel.clearSelection()

        如果索引已被选中,则不会再次选择或未选择。 然而,如果实现了多个选择,那么在已经选择的索引上的调用选择将具有使索引成为新的所选索引的效果(由SelectionModel.getSelectedIndex()返回)。

        Specified by:
        selectSelectionModel<T>
        参数
        row - 要在选择模型中选择的项目的位置。
      • select

        public void select​(T obj)
        描述从类别复制: SelectionModel

        此方法将尝试选择包含给定对象的索引。 它将遍历底层数据模型,直到找到一个值等于给定对象的项。 在这一点上它将停止迭代 - 这意味着该方法将不会选择多个索引。

        Specified by:
        selectSelectionModel<T>
        参数
        obj - 要在底层数据模型中选择的对象。
      • selectIndices

        public void selectIndices​(int row,
                                  int... rows)
        描述从类别MultipleSelectionModel复制

        该方法允许同时设置一个或多个选择。 它将忽略不在有效范围内的任何值(即大于或等于零,小于底层数据模型中的项目总数)。 任何重复的索引都将被忽略。

        如果在此模型中已经选择了一个或多个索引,则调用此方法将不会清除这些选择 - 为此,必须首先调用clearSelection。

        给定的最后一个有效值将成为所选择的索引/选定项目。

        Specified by:
        selectIndicesMultipleSelectionModel<T>
        参数
        row - 第一个索引选择
        rows - 零个或多个附加索引进行选择
      • selectFirst

        public void selectFirst​()
        描述从类复制: MultipleSelectionModel

        该方法将尝试选择控件中的第一个索引。 如果首先不调用clearSelection,则该方法将具有选择第一个索引的结果,同时保留对当前其他任何索引的选择。

        如果已经选择了第一个索引,调用此方法将不会产生任何结果,并且不会执行选择事件。

        Specified by:
        selectFirstMultipleSelectionModel<T>
      • selectLast

        public void selectLast​()
        说明从类别复制MultipleSelectionModel

        此方法将尝试选择控件中的最后一个索引。 如果没有首先调用clearSelection,则该方法将具有选择最后一个索引的结果,同时保留对其他当前选定索引的选择。

        如果最后一个索引已经被选中,调用该方法将不会有结果,并且不会发生选择事件。

        Specified by:
        selectLastMultipleSelectionModel<T>
      • clearSelection

        public void clearSelection​(int index)
        描述从类: SelectionModel复制

        该方法将清除给定索引中项目的选择。 如果没有选择给定的索引,则不会发生任何事情。

        Specified by:
        clearSelectionSelectionModel<T>
        参数
        index - 要取消选择的选定项目。
      • 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:
        isEmptySelectionModel<T>
        结果
        如果 没有选择的项目将返回true,如果有的话将返回false。
      • selectPrevious

        public void selectPrevious​()
        描述从类SelectionModel复制

        此方法将尝试直接在当前聚焦索引之前选择索引。 如果没有首先调用clearSelection,则该方法将具有选择先前索引的结果,同时保留对其他当前选择的索引的选择。

        调用此方法将仅在以下情况下成功:

        • 目前有一个主角/重点指数。
        • 主要/焦点指数不是控制中的第一个指标。
        • 以前的索引尚未被选中。

        如果这些条件中的任何一个都是假的,则不会发生选择事件。

        Specified by:
        selectPreviousSelectionModel<T>
      • selectNext

        public void selectNext​()
        描述从类复制: SelectionModel

        此方法将尝试在当前焦点索引之后直接选择索引。 如果没有首先调用clearSelection,则该方法将具有选择下一个索引的结果,同时保留对任何其他当前选择的索引的选择。

        调用此方法将仅在以下情况下成功:

        • 目前有一个主角/重点指数。
        • 主要/焦点指数不是控件中的最后一个指标。
        • 下一个索引尚未被选中。

        如果这些条件中的任何一个都是假的,则不会发生选择事件。

        Specified by:
        selectNext in class  SelectionModel<T>