public class TreeCellSkin<T> extends CellSkinBase<TreeCell<T>>
Default skin implementation for the
TreeCell control.- Since:
- 9
- See Also:
TreeCell
-
Property Summary
Properties Type Property Description DoublePropertyindentThe amount of space to multiply by the treeItem.level to get the left margin for this tree cell. -
Constructor Summary
Constructors Constructor Description TreeCellSkin(TreeCell<T> control)Creates a new TreeCellSkin instance, installing the necessary child nodes into the Controlchildrenlist, as well as the necessary input mappings for handling key, mouse, etc events. -
Method Summary
Modifier and Type Method Description protected doublecomputeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Computes the maximum allowable height of the Skin, based on the provided width.protected doublecomputeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Computes the minimum allowable height of the Skin, based on the provided width.protected doublecomputePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Calculates the preferred height of thisSkinBase.protected doublecomputePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Calculates the preferred width of thisSkinBase.voiddispose()Called by a Skinnable when the Skin is replaced on the Skinnable.static List<CssMetaData<? extends Styleable,?>>getClassCssMetaData()Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.List<CssMetaData<? extends Styleable,?>>getCssMetaData()This method should delegate toNode.getClassCssMetaData()so that a Node's CssMetaData can be accessed without the need for reflection.doublegetIndent()Gets the value of the property indent.DoublePropertyindentProperty()The amount of space to multiply by the treeItem.level to get the left margin for this tree cell.protected voidlayoutChildren(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 textvoidsetIndent(double value)Sets the value of the property indent.protected voidupdateChildren()Updates the children managed by LabeledSkinBase, which can be the Labeled graphic and/or a Text node.Methods inherited from class javafx.scene.control.skin.LabeledSkinBase
computeBaselineOffset, computeMaxWidth, computeMinWidth, layoutLabelInArea, layoutLabelInArea, queryAccessibleAttributeMethods 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
-
Property Details
-
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- See Also:
getIndent(),setIndent(double)
-
-
Constructor Details
-
TreeCellSkin
Creates a new TreeCellSkin instance, installing the necessary child nodes into the Controlchildrenlist, 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
-
setIndent
public final void setIndent(double value)Sets the value of the property indent.- Property description:
- The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
-
getIndent
public final double getIndent()Gets the value of the property indent.- Property description:
- The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS
-
indentProperty
The amount of space to multiply by the treeItem.level to get the left margin for this tree cell. This is settable from CSS- See Also:
getIndent(),setIndent(double)
-
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 methodsSkin.getSkinnable()andSkin.getNode()should return null following a call to dispose. Calling dispose twice has no effect. -
updateChildren
protected void 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.- Overrides:
updateChildrenin classLabeledSkinBase<TreeCell<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:
layoutChildrenin classLabeledSkinBase<TreeCell<T>>- Parameters:
x- the x positiony- the y positionw- the widthh- the height
-
computeMinHeight
protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Computes the minimum allowable height of the Skin, based on the provided width.- Overrides:
computeMinHeightin classLabeledSkinBase<TreeCell<T>>- Parameters:
width- The width of the Skin, in case this value might dictate the minimum height.topInset- the pixel snapped top insetrightInset- the pixel snapped right insetbottomInset- the pixel snapped bottom insetleftInset- the pixel snapped left inset- Returns:
- A double representing the minimum height of this Skin.
-
computePrefHeight
protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Calculates the preferred height of thisSkinBase. The default implementation calculates this height as the height of the area occupied by its managed children when they are positioned at their current positions at their preferred heights.- Overrides:
computePrefHeightin classLabeledSkinBase<TreeCell<T>>- Parameters:
width- the width that should be used if preferred height depends on ittopInset- the pixel snapped top insetrightInset- the pixel snapped right insetbottomInset- the pixel snapped bottom insetleftInset- the pixel snapped left inset- Returns:
- the calculated preferred height
-
computeMaxHeight
protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)Computes the maximum allowable height of the Skin, based on the provided width.- Overrides:
computeMaxHeightin classLabeledSkinBase<TreeCell<T>>- Parameters:
width- The width of the Skin, in case this value might dictate the maximum height.topInset- the pixel snapped top insetrightInset- the pixel snapped right insetbottomInset- the pixel snapped bottom insetleftInset- the pixel snapped left inset- Returns:
- A double representing the maximum height of this Skin.
-
computePrefWidth
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)Calculates the preferred width of thisSkinBase. 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:
computePrefWidthin classLabeledSkinBase<TreeCell<T>>- Parameters:
height- the height that should be used if preferred width depends on ittopInset- the pixel snapped top insetrightInset- the pixel snapped right insetbottomInset- the pixel snapped bottom insetleftInset- the pixel snapped left inset- Returns:
- the calculated preferred width
-
getClassCssMetaData
Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.- Returns:
- the CssMetaData associated with this class, which may include the CssMetaData of its superclasses
-
getCssMetaData
This method should delegate toNode.getClassCssMetaData()so that a Node's CssMetaData can be accessed without the need for reflection.- Overrides:
getCssMetaDatain classCellSkinBase<TreeCell<T>>- Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
-