# Class TableFocusModel<T, TC extends TableColumnBase<T,?>>

java.lang.Object
javafx.scene.control.FocusModel<T>
javafx.scene.control.TableFocusModel<T,TC>

Type Parameters:
  `T` - The type of the underlying data model for the UI control.
  `TC` - The concrete subclass of `TableColumnBase` that is used by the underlying UI control (e.g. `TableColumn` or `TreeTableColumn`.

Direct Known Subclasses:
  `TableView.TableViewFocusModel`, `TreeTableView.TreeTableViewFocusModel`

public abstract class TableFocusModel<T, TC extends TableColumnBase<T,?>> extends FocusModel<T>
The abstract base class for FocusModel implementations that are used within table-like controls (most notably `TableView` and `TreeTableView`).

Since:
  JavaFX 8.0

- ## Property Summary

  ### Properties declared in class javafx.scene.control.FocusModel

  `focusedIndex, focusedItem`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TableFocusModel()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `focus(int row, TC column)`
  Causes the item at the given index to receive the focus.
  `abstract void`
  `focusAboveCell()`
  Attempts to move focus to the cell above the currently focused cell.
  `abstract void`
  `focusBelowCell()`
  Attempts to move focus to the cell below the currently focused cell.
  `abstract void`
  `focusLeftCell()`
  Attempts to move focus to the cell to the left of the currently focused cell.
  `abstract void`
  `focusRightCell()`
  Attempts to move focus to the cell to the right of the the currently focused cell.
  `abstract boolean`
  `isFocused(int row, TC column)`
  Tests whether the row / cell at the given location currently has the focus within the UI control.

  ### Methods declared in class javafx.scene.control.FocusModel

  `focus, focusedIndexProperty, focusedItemProperty, focusNext, focusPrevious, getFocusedIndex, getFocusedItem, getItemCount, getModelItem, isFocused`

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### TableFocusModel

    public TableFocusModel()
    Constructor for subclasses to call.

- ## Method Details

  - ### focus

    public abstract void focus(int row, TC column)
    Causes the item at the given index to receive the focus.
    Parameters:
      `row` - The row index of the item to give focus to.
      `column` - The column of the item to give focus to. Can be null.

  - ### isFocused

    public abstract boolean isFocused(int row, TC column)
    Tests whether the row / cell at the given location currently has the focus within the UI control.
    Parameters:
      `row` - the row
      `column` - the column
    Returns:
      true if the row / cell at the given location currently has the focus within the UI control

  - ### focusAboveCell

    public abstract void focusAboveCell()
    Attempts to move focus to the cell above the currently focused cell.

  - ### focusBelowCell

    public abstract void focusBelowCell()
    Attempts to move focus to the cell below the currently focused cell.

  - ### focusLeftCell

    public abstract void focusLeftCell()
    Attempts to move focus to the cell to the left of the currently focused cell.

  - ### focusRightCell

    public abstract void focusRightCell()
    Attempts to move focus to the cell to the right of the the currently focused cell.