- java.lang.Object
-
- javafx.scene.control.FocusModel<T>
-
- javafx.scene.control.TableFocusModel<S,TableColumn<S,?>>
-
- javafx.scene.control.TableView.TableViewFocusModel<S>
-
public static class TableView.TableViewFocusModel<S> extends TableFocusModel<S,TableColumn<S,?>>
AFocusModel
具有支持TableView控件要求的附加功能。- 从以下版本开始:
- JavaFX 2.0
- 另请参见:
-
TableView
-
-
Property Summary
Properties Type Property 描述 ReadOnlyObjectProperty<TablePosition>
focusedCell
当前项目在TableView中的位置具有重点。-
Properties inherited from class javafx.scene.control.FocusModel
focusedIndex, focusedItem
-
-
构造方法摘要
构造方法 Constructor 描述 TableViewFocusModel(TableView<S> tableView)
创建一个默认的TableViewFocusModel实例,用于管理提供的TableView控件的焦点。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
focus(int index)
导致给定索引处的项目接收焦点。void
focus(int row, TableColumn<S,?> column)
导致给定索引处的项目接收焦点。void
focus(TablePosition pos)
使用TablePosition
设置焦点在特定行或单元格的便利方法。void
focusAboveCell()
尝试将焦点移动到当前聚焦单元格上方的单元格。void
focusBelowCell()
尝试将焦点移动到当前聚焦单元格下方的单元格。ReadOnlyObjectProperty<TablePosition>
focusedCellProperty()
当前项目在TableView中的位置具有重点。void
focusLeftCell()
尝试将焦点移动到当前聚焦单元格左侧的单元格。void
focusNext()
尝试将焦点放在当前焦点集中的行之后。void
focusPrevious()
尝试将重点放在目前重点集中的行之前。void
focusRightCell()
尝试将焦点移动到当前聚焦单元格右侧的单元格。TablePosition
getFocusedCell()
获取focusCell属性的值。protected int
getItemCount()
返回数据模型中支配控件的项目数。protected S
getModelItem(int index)
返回给定索引处的项目。boolean
isFocused(int row, TableColumn<S,?> column)
测试给定位置的行/单元格当前是否具有TableView内的焦点。-
Methods inherited from class javafx.scene.control.FocusModel
focusedIndexProperty, focusedItemProperty, getFocusedIndex, getFocusedItem, isFocused
-
-
-
-
Property Detail
-
focusedCell
public final ReadOnlyObjectProperty<TablePosition> focusedCellProperty
当前项目在TableView中的位置具有重点。- 另请参见:
-
getFocusedCell()
-
-
构造方法详细信息
-
TableViewFocusModel
public TableViewFocusModel(TableView<S> tableView)
创建一个默认的TableViewFocusModel实例,用于管理提供的TableView控件的焦点。- 参数
-
tableView
- 此对焦模型运行的tableView。 - 异常
-
NullPointerException
- TableView参数不能为空。
-
-
方法详细信息
-
getItemCount
protected int getItemCount()
返回数据模型中支配控件的项目数。 一个例子就是ListView焦点模型可能会返回listView.getItems().size()
。 可聚焦索引的有效范围在0和此方法返回的任何值之间。- Specified by:
-
getItemCount
在FocusModel<S>
- 结果
- 支持控制的数据模型中的项目数
-
getModelItem
protected S getModelItem(int index)
返回给定索引处的项目。 使用ListView的示例将是listView.getItems().get(index)
。- Specified by:
-
getModelItem
在FocusModel<S>
- 参数
-
index
- 从底层数据模型请求的项目的索引。 - 结果
- 如果索引超出范围,则返回null,或者与给定索引相关的类型T的元素。
-
focusedCellProperty
public final ReadOnlyObjectProperty<TablePosition> focusedCellProperty()
当前项目在TableView中的位置具有重点。- 另请参见:
-
getFocusedCell()
-
getFocusedCell
public final TablePosition getFocusedCell()
获取focusCell属性的值。- Property description:
- 当前项目在TableView中的位置具有重点。
-
focus
public void focus(int row, TableColumn<S,?> column)
导致给定索引处的项目接收焦点。- Specified by:
-
focus
在TableFocusModel<S,TableColumn<S,?>>
- 参数
-
row
- 要重点row
的项目的行索引。 -
column
- 要专注的项目的列。 可以为null。
-
focus
public void focus(TablePosition pos)
使用TablePosition
设置焦点在特定行或单元格的便利方法。- 参数
-
pos
- 要设置焦点的表格位置。
-
isFocused
public boolean isFocused(int row, TableColumn<S,?> column)
测试给定位置的行/单元格当前是否具有TableView内的焦点。- Specified by:
-
isFocused
在TableFocusModel<S,TableColumn<S,?>>
- 参数
-
row
- 行 -
column
- 列 - 结果
- 如果给定位置的行/单元格当前具有UI控件内的焦点,则为true
-
focus
public void focus(int index)
导致给定索引处的项目接收焦点。 这不会导致当前的选择更改。 更新focusItem和focusedIndex属性,以便focusedIndex = -1
除非0 <= index < model size
- 重写:
-
focus
在FocusModel<S>
- 参数
-
index
- 要获取焦点的项目的索引。
-
focusAboveCell
public void focusAboveCell()
尝试将焦点移动到当前聚焦单元格上方的单元格。- Specified by:
-
focusAboveCell
在TableFocusModel<S,TableColumn<S,?>>
-
focusBelowCell
public void focusBelowCell()
尝试将焦点移动到当前聚焦单元格下方的单元格。- Specified by:
-
focusBelowCell
在TableFocusModel<S,TableColumn<S,?>>
-
focusLeftCell
public void focusLeftCell()
尝试将焦点移动到当前聚焦单元格左侧的单元格。- Specified by:
-
focusLeftCell
在TableFocusModel<S,TableColumn<S,?>>
-
focusRightCell
public void focusRightCell()
尝试将焦点移动到当前聚焦单元格右侧的单元格。- Specified by:
-
focusRightCell
在TableFocusModel<S,TableColumn<S,?>>
-
focusPrevious
public void focusPrevious()
尝试将重点放在目前重点集中的行之前。 如果当前焦点所有者是第一行,或者是-1(表示没有当前焦点所有者),调用此方法将不会有结果。- 重写:
-
focusPrevious
在FocusModel<S>
-
focusNext
public void focusNext()
尝试将焦点放在当前焦点集中的行之后。 如果当前焦点所有者是最后一行,调用此方法将不会有结果。- 重写:
-
focusNext
FocusModel<S>
-
-