# Class TreeTablePosition<S,T>

java.lang.Object
javafx.scene.control.TablePositionBase<TreeTableColumn<S,T>>
javafx.scene.control.TreeTablePosition<S,T>

Type Parameters:
  `S` - The type of the `TreeItem` instances contained within the TreeTableView.
  `T` - The type of the items contained within the TreeTableColumn.

public class TreeTablePosition<S,T> extends TablePositionBase<TreeTableColumn<S,T>>
This class is used to represent a single row/column/cell in a TreeTableView. This is used throughout the TreeTableView API to represent which rows/columns/cells are currently selected, focused, being edited, etc. Note that this class is immutable once it is created.

Because the TreeTableView can have different `selection modes`, the row and column properties in TablePosition can be 'disabled' to represent an entire row or column. This is done by setting the unrequired property to -1 or null.

Since:
  JavaFX 8.0
See Also:
  - `TreeTableView`
  - `TreeTableColumn`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TreeTablePosition(TreeTableView<S> treeTableView, int row, TreeTableColumn<S,T> tableColumn)`
  Constructs a TreeTablePosition instance to represent the given row/column position in the given TreeTableView instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getColumn()`
  The column index that this TreeTablePosition represents in the TreeTableView.
  `final TreeTableColumn<S,T>`
  `getTableColumn()`
  The TableColumn that this TablePosition represents in the TableView.
  `final TreeItem<S>`
  `getTreeItem()`
  Returns the `TreeItem` that backs the `TablePositionBase.getRow()` row}.
  `final TreeTableView<S>`
  `getTreeTableView()`
  The TreeTableView that this TreeTablePosition is related to.

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

  `equals, getRow, hashCode`

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

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

- ## Constructor Details

  - ### TreeTablePosition

    public TreeTablePosition(TreeTableView<S> treeTableView, int row, TreeTableColumn<S,T> tableColumn)
    Constructs a TreeTablePosition instance to represent the given row/column position in the given TreeTableView instance. Both the TreeTableView and TreeTableColumn are referenced weakly in this class, so it is possible that they will be null when their respective getters are called.
    Parameters:
      `treeTableView` - The TreeTableView that this position is related to.
      `row` - The row that this TreeTablePosition is representing.
      `tableColumn` - The TreeTableColumn instance that this TreeTablePosition represents.

- ## Method Details

  - ### getColumn

    public int getColumn()
    The column index that this TreeTablePosition represents in the TreeTableView. It is -1 if the TreeTableView or TreeTableColumn instances are null at the time the class is instantiated (i.e. it is computed at construction).
    Specified by:
      `getColumn` in class `TablePositionBase<TreeTableColumn<S,T>>`
    Returns:
      the column index that this TablePosition represents in the TableView

  - ### getTreeTableView

    public final TreeTableView<S> getTreeTableView()
    The TreeTableView that this TreeTablePosition is related to.
    Returns:
      the TreeTableView that this TreeTablePosition is related to

  - ### getTableColumn

    public final TreeTableColumn<S,T> getTableColumn()
    Description copied from class: `TablePositionBase`
    The TableColumn that this TablePosition represents in the TableView.
    Overrides:
      `getTableColumn` in class `TablePositionBase<TreeTableColumn<S,T>>`
    Returns:
      the TableColumn that this TablePosition represents in the TableView

  - ### getTreeItem

    public final TreeItem<S> getTreeItem()
    Returns the `TreeItem` that backs the `TablePositionBase.getRow()` row}.
    Returns:
      the `TreeItem` that backs the `TablePositionBase.getRow()` row}