Top Description Inners Fields Constructors Methods
javafx.scene.control.skin

public Class TreeTableRowSkin<T>

extends TableRowSkinBase<TreeItem<T>, TreeTableRow<T>, TreeTableCell<T, ?>>
Class Inheritance
Type Parameters
<T>
the type of the item contained within the row
Imports
java.util.ArrayList, .Collections, .List, javafx.beans.property.DoubleProperty, .ObjectProperty, javafx.collections.FXCollections, .ObservableList, javafx.css.CssMetaData, .Styleable, .StyleableDoubleProperty, .StyleableProperty, javafx.css.converter.SizeConverter, javafx.scene.AccessibleAttribute, .Node, javafx.scene.control.Control, .TableColumnBase, .TreeItem, .TreeTableCell, .TreeTableColumn, .TreeTablePosition, .TreeTableRow, .TreeTableView, com.sun.javafx.scene.control.ListenerHelper, com.sun.javafx.scene.control.behavior.BehaviorBase, .TreeTableRowBehavior

Default skin implementation for the TreeTableRow control.
Since
9
See Also
TreeTableRow

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private final BehaviorBase<TreeTableRow<T>>
private boolean
private Node
private DoubleProperty
indent

The amount of space to multiply by the treeItem.level to get the left margin for this tree cell.

private TreeItem<?>
Inherited from javafx.scene.control.skin.TableRowSkinBase:
cellscellsMapisDirtymaxDisclosureWidthMap

Constructor Summary

AccessConstructor and Description
public
TreeTableRowSkin(TreeTableRow<T>
The control that this skin should be installed onto.
control
)

Creates a new TreeTableRowSkin 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 TypeMethod and Description
protected TreeTableCell<T, ?>
createCell(TableColumnBase<S, T> tcb)

Implements abstract javafx.scene.control.skin.TableRowSkinBase.createCell.

Creates a new cell instance that is suitable for representing the given table column instance.

public void
dispose()

Overrides javafx.scene.control.skin.LabeledSkinBase.dispose.

Implements javafx.scene.control.Skin.dispose.

Called when a previously installed skin is about to be removed from its associated control.

public static List<CssMetaData<? extends Styleable, ?>>

Returns:

the CssMetaData associated with this class, which may include the CssMetaData of its superclasses
getClassCssMetaData
()

Hides javafx.scene.control.skin.CellSkinBase.getClassCssMetaData.

Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.

public List<CssMetaData<? extends Styleable, ?>>
getCssMetaData()

Overrides javafx.scene.control.skin.CellSkinBase.getCssMetaData.

This method should delegate to Node#getClassCssMetaData() so that a Node's CssMetaData can be accessed without the need for reflection.

pack-priv Node
pack-priv double
public final double
pack-priv int
pack-priv double
protected TreeTableColumn<T, ?>
getTableColumn(TreeTableCell<S, T> cell)

Implements abstract javafx.scene.control.skin.TableRowSkinBase.getTableColumn.

Returns the TableColumnBase instance for the given cell instance.

pack-priv TreeTableViewSkin<T>
pack-priv TableColumnBase<S, T>
getTreeColumn()

Overrides javafx.scene.control.skin.TableRowSkinBase.getTreeColumn.

Returns the table column that should show the disclosure nodes and / or a graphic.

pack-priv TreeItem<T>
private TreeTableView<T>
protected ObservableList<TreeTableColumn<T, ?>>
getVisibleLeafColumns()

Implements abstract javafx.scene.control.skin.TableRowSkinBase.getVisibleLeafColumns.

Returns an unmodifiable list containing the currently visible leaf columns.

protected ObjectProperty<Node>
graphicProperty()

Overrides javafx.scene.control.skin.TableRowSkinBase.graphicProperty.

Returns the graphic to draw on the inside of the disclosure node.

public final DoubleProperty
pack-priv boolean
isDisclosureNodeVisible()

Overrides javafx.scene.control.skin.TableRowSkinBase.isDisclosureNodeVisible.

Used to represent whether a disclosure node is visible for _this_ table row.

pack-priv boolean
isIndentationRequired()

Overrides javafx.scene.control.skin.TableRowSkinBase.isIndentationRequired.

Used to represent whether the current virtual flow owner is wanting indentation to be used in this table row.

pack-priv boolean
protected void
layoutChildren(double x, double y, double w, double h)

Overrides javafx.scene.control.skin.TableRowSkinBase.layoutChildren.

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

protected Object
queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)

Overrides javafx.scene.control.skin.LabeledSkinBase.queryAccessibleAttribute.

This method is called by the assistive technology to request the value for an attribute.

private void
requestLayoutWhenFixedCellSizeSet()

When we have a fixed cell size set, we must request layout when the width of the virtual flow changed, because we might need to add or remove cells that are now visible or not anymore.

public final void
setIndent(double value)

private void
protected void
updateCell(TreeTableCell<T, ?> cell, TreeTableRow<T> row)

Implements abstract javafx.scene.control.skin.TableRowSkinBase.updateCell.

A method to allow the given cell to be told that it is a member of the given row.

pack-priv void
protected void
updateChildren()

Overrides javafx.scene.control.skin.LabeledSkinBase.updateChildren.

Updates the children managed by LabeledSkinBase, which can be the Labeled graphic and/or a Text node.

private void
private void
private void
Inherited from javafx.scene.control.skin.TableRowSkinBase:
checkStatecomputeMaxHeightcomputeMinHeightcomputePrefHeightcomputePrefWidthgetVirtualFlowisDirtysetDirtyupdateLeafColumns

Field Detail

behaviorback to summary
private final BehaviorBase<TreeTableRow<T>> behavior
disclosureNodeDirtyback to summary
private boolean disclosureNodeDirty
graphicback to summary
private Node graphic

Hides javafx.scene.control.skin.LabeledSkinBase.graphic.

indentback to summary
private DoubleProperty indent

The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS

treeItemback to summary
private TreeItem<?> treeItem

Constructor Detail

TreeTableRowSkinback to summary
public TreeTableRowSkin(TreeTableRow<T> control)

Creates a new TreeTableRowSkin 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:TreeTableRow<T>

The control that this skin should be installed onto.

Method Detail

createCellback to summary
protected TreeTableCell<T, ?> createCell(TableColumnBase<S, T> tcb)

Implements abstract javafx.scene.control.skin.TableRowSkinBase.createCell.

Doc from javafx.scene.control.skin.TableRowSkinBase.createCell.

Creates a new cell instance that is suitable for representing the given table column instance.

Annotations
@Override
disposeback to summary
public void dispose()

Overrides javafx.scene.control.skin.LabeledSkinBase.dispose.

Implements javafx.scene.control.Skin.dispose.

Doc from javafx.scene.control.SkinBase.dispose.

Called when a previously installed skin is about to be removed from its associated control. This allows the skin to do clean up, like removing listeners and bindings, and undo any changes to the control's properties. After this method completes, getSkinnable() and getNode() should return null.

Calling dispose() more than once has no effect.

Annotations
@Override
getClassCssMetaDataback to summary
public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData()

Hides javafx.scene.control.skin.CellSkinBase.getClassCssMetaData.

Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.

Returns:List<CssMetaData<? extends Styleable, ?>>

the CssMetaData associated with this class, which may include the CssMetaData of its superclasses

getCssMetaDataback to summary
public List<CssMetaData<? extends Styleable, ?>> getCssMetaData()

Overrides javafx.scene.control.skin.CellSkinBase.getCssMetaData.

Doc from javafx.scene.control.skin.CellSkinBase.getCssMetaData.

This method should delegate to Node#getClassCssMetaData() so that a Node's CssMetaData can be accessed without the need for reflection.

Annotations
@Override
getDisclosureNodeback to summary
pack-priv Node getDisclosureNode()

Overrides javafx.scene.control.skin.TableRowSkinBase.getDisclosureNode.

Annotations
@Override
getFixedCellSizeback to summary
pack-priv double getFixedCellSize()

Overrides javafx.scene.control.skin.TableRowSkinBase.getFixedCellSize.

Annotations
@Override
getIndentback to summary
public final double getIndent()
getIndentationLevelback to summary
pack-priv int getIndentationLevel(TreeTableRow<T> control)

Overrides javafx.scene.control.skin.TableRowSkinBase.getIndentationLevel.

Annotations
@Override
getIndentationPerLevelback to summary
pack-priv double getIndentationPerLevel()

Overrides javafx.scene.control.skin.TableRowSkinBase.getIndentationPerLevel.

Annotations
@Override
getTableColumnback to summary
protected TreeTableColumn<T, ?> getTableColumn(TreeTableCell<S, T> cell)

Implements abstract javafx.scene.control.skin.TableRowSkinBase.getTableColumn.

Doc from javafx.scene.control.skin.TableRowSkinBase.getTableColumn.

Returns the TableColumnBase instance for the given cell instance.

Annotations
@Override
getTableViewSkinback to summary
pack-priv TreeTableViewSkin<T> getTableViewSkin()
getTreeColumnback to summary
pack-priv TableColumnBase<S, T> getTreeColumn()

Overrides javafx.scene.control.skin.TableRowSkinBase.getTreeColumn.

Doc from javafx.scene.control.skin.TableRowSkinBase.getTreeColumn.

Returns the table column that should show the disclosure nodes and / or a graphic. By default this is the left-most column.

Annotations
@Override
getTreeItemback to summary
pack-priv TreeItem<T> getTreeItem()
getTreeTableViewback to summary
private TreeTableView<T> getTreeTableView()
getVisibleLeafColumnsback to summary
protected ObservableList<TreeTableColumn<T, ?>> getVisibleLeafColumns()

Implements abstract javafx.scene.control.skin.TableRowSkinBase.getVisibleLeafColumns.

Doc from javafx.scene.control.skin.TableRowSkinBase.getVisibleLeafColumns.

Returns an unmodifiable list containing the currently visible leaf columns.

Annotations
@Override
graphicPropertyback to summary
protected ObjectProperty<Node> graphicProperty()

Overrides javafx.scene.control.skin.TableRowSkinBase.graphicProperty.

Doc from javafx.scene.control.skin.TableRowSkinBase.graphicProperty.

Returns the graphic to draw on the inside of the disclosure node. Null is acceptable when no graphic should be shown. Commonly this is the graphic associated with a TreeItem (i.e. treeItem.getGraphic()), rather than a graphic associated with a cell.

Annotations
@Override
indentPropertyback to summary
public final DoubleProperty indentProperty()
isDisclosureNodeVisibleback to summary
pack-priv boolean isDisclosureNodeVisible()

Overrides javafx.scene.control.skin.TableRowSkinBase.isDisclosureNodeVisible.

Doc from javafx.scene.control.skin.TableRowSkinBase.isDisclosureNodeVisible.

Used to represent whether a disclosure node is visible for _this_ table row. Not to be confused with isIndentationRequired(), which is the more general API.

Annotations
@Override
isIndentationRequiredback to summary
pack-priv boolean isIndentationRequired()

Overrides javafx.scene.control.skin.TableRowSkinBase.isIndentationRequired.

Doc from javafx.scene.control.skin.TableRowSkinBase.isIndentationRequired.

Used to represent whether the current virtual flow owner is wanting indentation to be used in this table row.

Annotations
@Override
isShowRootback to summary
pack-priv boolean isShowRoot()

Overrides javafx.scene.control.skin.TableRowSkinBase.isShowRoot.

Annotations
@Override
layoutChildrenback to summary
protected void layoutChildren(double x, double y, double w, double h)

Overrides javafx.scene.control.skin.TableRowSkinBase.layoutChildren.

Doc from javafx.scene.control.skin.TableRowSkinBase.layoutChildren.

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

Annotations
@Override
queryAccessibleAttributeback to summary
protected Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)

Overrides javafx.scene.control.skin.LabeledSkinBase.queryAccessibleAttribute.

Doc from javafx.scene.control.skin.LabeledSkinBase.queryAccessibleAttribute.

This method is called by the assistive technology to request the value for an attribute.

This method is commonly overridden by subclasses to implement attributes that are required for a specific role.
If a particular attribute is not handled, the superclass implementation must be called.

Annotations
@Override
requestLayoutWhenFixedCellSizeSetback to summary
private void requestLayoutWhenFixedCellSizeSet()

When we have a fixed cell size set, we must request layout when the width of the virtual flow changed, because we might need to add or remove cells that are now visible or not anymore.
See also: JDK-8144500 and JDK-8185887.

setIndentback to summary
public final void setIndent(double value)
setupTreeTableViewListenersback to summary
private void setupTreeTableViewListeners()
updateCellback to summary
protected void updateCell(TreeTableCell<T, ?> cell, TreeTableRow<T> row)

Implements abstract javafx.scene.control.skin.TableRowSkinBase.updateCell.

Doc from javafx.scene.control.skin.TableRowSkinBase.updateCell.

A method to allow the given cell to be told that it is a member of the given row. How this is implemented is dependent on the actual cell implementation.

Annotations
@Override
updateCellsback to summary
pack-priv void updateCells()

Overrides javafx.scene.control.skin.TableRowSkinBase.updateCells.

Annotations
@Override
updateChildrenback to summary
protected void updateChildren()

Overrides javafx.scene.control.skin.LabeledSkinBase.updateChildren.

Doc from javafx.scene.control.skin.LabeledSkinBase.updateChildren.

Updates the children managed by LabeledSkinBase, which can be the Labeled graphic and/or a Text node. Only those nodes which actually must be used are used. For example, with a ContentDisplay of GRAPHIC_ONLY the text node is not added, and with a ContentDisplay of TEXT_ONLY, the graphic is not added.

Annotations
@Override
updateDisclosureNodeAndGraphicback to summary
private void updateDisclosureNodeAndGraphic()
updateTreeItemback to summary
private void updateTreeItem()
updateTreeItemGraphicback to summary
private void updateTreeItemGraphic()
javafx.scene.control.skin back to summary

private Class TreeTableRowSkin.StyleableProperties

extends Object
Class Inheritance
  • java.lang.Object
  • javafx.scene.control.skin.TreeTableRowSkin.StyleableProperties

Field Summary

Modifier and TypeField and Description
private static final CssMetaData<TreeTableRow<?>, Number>
private static final List<CssMetaData<? extends Styleable, ?>>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

INDENTback to summary
private static final CssMetaData<TreeTableRow<?>, Number> INDENT
STYLEABLESback to summary
private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES

Constructor Detail

StyleablePropertiesback to summary
private StyleableProperties()