Module javafx.controls
Package javafx.scene.control.skin

# Class TableCellSkinBase<S,​T,​C extends IndexedCell<T>>

java.lang.Object
javafx.scene.control.SkinBase<C>
javafx.scene.control.skin.LabeledSkinBase<C>
javafx.scene.control.skin.CellSkinBase<C>
javafx.scene.control.skin.TableCellSkinBase<S,​T,​C>

Type Parameters:
  `S` - The type of the UI control (e.g. the type of the 'row').
  `T` - The type of the content in the cell, based on its `TableColumnBase`.

All Implemented Interfaces:
  `Skin<C>`

Direct Known Subclasses:
  `TableCellSkin`, `TreeTableCellSkin`

    public abstract class TableCellSkinBase<S,​T,​C extends IndexedCell<T>>
    extends CellSkinBase<C>

Base skin for table cell controls, for example: `TableCell` and `TreeTableCell`.

Since:
  9
See Also:
  `TableCell`, `TreeTableCell`

- ## Property Summary

  Properties
  Type | Property | Description
  --- | --- | ---
  `abstract ReadOnlyObjectProperty<? extends TableColumnBase<S,​T>>` | `tableColumn` | The TableColumnBase instance that is responsible for this Cell.

  ### Properties inherited from class javafx.scene.control.skin.CellSkinBase

  `cellSize`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `TableCellSkinBase​(C control)` | Creates a new TableCellSkinBase instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected double` | `computePrefWidth​(double height, double topInset, double rightInset, double bottomInset, double leftInset)` | Calculates the preferred width of this `SkinBase`.
  `void` | `dispose()` | Called by a Skinnable when the Skin is replaced on the Skinnable.
  `TableColumnBase<S,​T>` | `getTableColumn()` | Gets the value of the property tableColumn.
  `protected void` | `layoutChildren​(double x, double y, double w, double h)` | The Layout algorithm works like this: - Get the labeled w/h, graphic w/h, text w/h - Compute content w/h based on graphicVPos, graphicHPos, graphicTextGap, and graphic w/h and text w/h - (Note that the text content has been pre-truncated where necessary) - compute content x/y based on content w/h and labeled w/h and the labeled's hpos and vpos - position the graphic and text
  `abstract ReadOnlyObjectProperty<? extends TableColumnBase<S,​T>>` | `tableColumnProperty()` | The TableColumnBase instance that is responsible for this Cell.

  ### Methods inherited from class javafx.scene.control.skin.CellSkinBase

  `cellSizeProperty, getCellSize, getClassCssMetaData, getCssMetaData`

  ### Methods inherited from class javafx.scene.control.skin.LabeledSkinBase

  `computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, layoutLabelInArea, layoutLabelInArea, queryAccessibleAttribute, updateChildren`

  ### Methods inherited from class javafx.scene.control.SkinBase

  `consumeMouseEvents, executeAccessibleAction, getChildren, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, registerChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners`

  ### Methods inherited from class java.lang.Object

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

- ## Property Details

  - ### tableColumn

    public abstract ReadOnlyObjectProperty<? extends TableColumnBase<S,​T>> tableColumnProperty
    The TableColumnBase instance that is responsible for this Cell.
    See Also:
      `getTableColumn()`

- ## Constructor Details

  - ### TableCellSkinBase

    public TableCellSkinBase​(C control)
    Creates a new TableCellSkinBase instance, installing the necessary child nodes into the Control `children` list, as well as the necessary input mappings for handling key, mouse, etc events.
    Parameters:
      `control` - The control that this skin should be installed onto.

- ## Method Details

  - ### tableColumnProperty

    public abstract ReadOnlyObjectProperty<? extends TableColumnBase<S,​T>> tableColumnProperty()
    The TableColumnBase instance that is responsible for this Cell.
    See Also:
      `getTableColumn()`

  - ### getTableColumn

    public final TableColumnBase<S,​T> getTableColumn()
    Gets the value of the property tableColumn.
    Property description:
      The TableColumnBase instance that is responsible for this Cell.

  - ### dispose

    public void dispose()
    Called by a Skinnable when the Skin is replaced on the Skinnable. This method allows a Skin to implement any logic necessary to clean up itself after the Skin is no longer needed. It may be used to release native resources. The methods `Skin.getSkinnable()` and `Skin.getNode()` should return null following a call to dispose. Calling dispose twice has no effect.
    Specified by:
      `dispose` in interface `Skin<S>`
    Overrides:
      `dispose` in class `SkinBase<C extends IndexedCell<T>>`

  - ### layoutChildren

    protected void layoutChildren​(double x, double y, double w, double h)
    The Layout algorithm works like this: - Get the labeled w/h, graphic w/h, text w/h - Compute content w/h based on graphicVPos, graphicHPos, graphicTextGap, and graphic w/h and text w/h - (Note that the text content has been pre-truncated where necessary) - compute content x/y based on content w/h and labeled w/h and the labeled's hpos and vpos - position the graphic and text
    Overrides:
      `layoutChildren` in class `LabeledSkinBase<C extends IndexedCell<T>>`
    Parameters:
      `x` - the x position
      `y` - the y position
      `w` - the width
      `h` - the height

  - ### computePrefWidth

    protected double computePrefWidth​(double height, double topInset, double rightInset, double bottomInset, double leftInset)
    Calculates the preferred width of this `SkinBase`. The default implementation calculates this width as the width of the area occupied by its managed children when they are positioned at their current positions at their preferred widths.
    Overrides:
      `computePrefWidth` in class `LabeledSkinBase<C extends IndexedCell<T>>`
    Parameters:
      `height` - the height that should be used if preferred width depends on it
      `topInset` - the pixel snapped top inset
      `rightInset` - the pixel snapped right inset
      `bottomInset` - the pixel snapped bottom inset
      `leftInset` - the pixel snapped left inset
    Returns:
      the calculated preferred width