- All Implemented Interfaces:
Skin<C>
- Direct Known Subclasses:
AccordionSkin
,ButtonBarSkin
,ChoiceBoxSkin
,ComboBoxBaseSkin
,HTMLEditorSkin
,LabeledSkinBase
,MenuBarSkin
,MenuButtonSkinBase
,PaginationSkin
,ProgressIndicatorSkin
,ScrollBarSkin
,ScrollPaneSkin
,SeparatorSkin
,SliderSkin
,SpinnerSkin
,SplitPaneSkin
,TabPaneSkin
,TextInputControlSkin
,ToolBarSkin
,VirtualContainerBase
skin
.
A user interface control is abstracted behind the Skinnable
interface.- Since:
- JavaFX 8.0
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected double
computeBaselineOffset
(double topInset, double rightInset, double bottomInset, double leftInset) Calculates the baseline offset based on the first managed child.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.protected double
computeMaxWidth
(double height, double topInset, double rightInset, double bottomInset, double leftInset) Computes the maximum allowable width of the Skin, based on the provided height.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.protected double
computeMinWidth
(double height, double topInset, double rightInset, double bottomInset, double leftInset) Computes the minimum allowable width of the Skin, based on the provided height.protected double
computePrefHeight
(double width, double topInset, double rightInset, double bottomInset, double leftInset) Calculates the preferred height of thisSkinBase
.protected double
computePrefWidth
(double height, double topInset, double rightInset, double bottomInset, double leftInset) Calculates the preferred width of thisSkinBase
.protected final void
consumeMouseEvents
(boolean value) Determines whether all mouse events should be automatically consumed.void
dispose()
Called when a previously installed skin is about to be removed from its associated control.protected void
executeAccessibleAction
(AccessibleAction action, Object... parameters) This method is called by the assistive technology to request the action indicated by the argument should be executed.final ObservableList<Node>
Returns the children of the skin.static List<CssMetaData<? extends Styleable,
?>> Returns the CssMetaData associated with this class, which may include the CssMetaData of its superclasses.List<CssMetaData<? extends Styleable,
?>> This method should delegate toNode.getClassCssMetaData()
so that a Node's CssMetaData can be accessed without the need for reflection.final Node
getNode()
Gets the Node which represents this Skin.final C
Gets the Skinnable to which this Skin is assigned.protected void
layoutChildren
(double contentX, double contentY, double contentWidth, double contentHeight) Called during the layout pass of the scenegraph.protected void
layoutInArea
(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.protected void
layoutInArea
(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.protected void
layoutInArea
(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.protected void
positionInArea
(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment) Utility method which positions the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.protected void
positionInArea
(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment) Utility method which positions the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.final void
pseudoClassStateChanged
(PseudoClass pseudoClass, boolean active) Used to specify that a pseudo-class of this Node has changed.protected Object
queryAccessibleAttribute
(AccessibleAttribute attribute, Object... parameters) This method is called by the assistive technology to request the value for an attribute.protected final void
registerChangeListener
(ObservableValue<?> observable, Consumer<ObservableValue<?>> operation) Registers an operation to perform when the givenobservable
sends a change event.protected final void
registerInvalidationListener
(Observable observable, Consumer<Observable> operation) Registers an operation to perform when the givenobservable
sends an invalidation event.protected final void
registerListChangeListener
(ObservableList<?> observableList, Consumer<ListChangeListener.Change<?>> operation) Registers an operation to perform when the givenobservableList
sends a list change event.protected double
Utility method to get the bottom inset which includes padding and border inset.protected double
Utility method to get the left inset which includes padding and border inset.protected double
Utility method to get the right inset which includes padding and border inset.protected double
Utility method to get the top inset which includes padding and border inset.protected double
snapPosition
(double value) Deprecated.protected double
snapPositionX
(double value) Convenience method for accessing thesnapPositionX()
method on the skinnable.protected double
snapPositionY
(double value) Convenience method for accessing thesnapPositionY()
method on the skinnable.protected double
snapSize
(double value) Deprecated.replaced bysnapSizeX()
andsnapSizeY()
protected double
snapSizeX
(double value) Convenience method for accessing thesnapSizeX()
method on the skinnable.protected double
snapSizeY
(double value) Convenience method for accessing thesnapSizeY()
method on the skinnable.protected double
snapSpace
(double value) Deprecated.replaced bysnapSpaceX()
andsnapSpaceY()
protected double
snapSpaceX
(double value) Convenience method for accessing thesnapSpaceX()
method on the skinnable.protected double
snapSpaceY
(double value) Convenience method for accessing thesnapSpaceY()
method on the skinnable.protected final Consumer<ObservableValue<?>>
unregisterChangeListeners
(ObservableValue<?> observable) Unregisters all operations that have been registered usingregisterChangeListener(ObservableValue, Consumer)
for the givenobservable
.protected final Consumer<Observable>
unregisterInvalidationListeners
(Observable observable) Unregisters all operations that have been registered usingregisterInvalidationListener(Observable, Consumer)
for the givenobservable
.protected final Consumer<ListChangeListener.Change<?>>
unregisterListChangeListeners
(ObservableList<?> observableList) Unregisters all operations that have been registered usingregisterListChangeListener(ObservableList, Consumer)
for the givenobservableList
.
-
Constructor Details
-
SkinBase
Constructor for all SkinBase instances.- Parameters:
control
- The control for which this Skin should attach to.
-
-
Method Details
-
getSkinnable
Gets the Skinnable to which this Skin is assigned. A Skin must be created for one and only one Skinnable. This value will only ever go from a non-null to null value when the Skin is removed from the Skinnable, and only as a consequence of a call toSkin.dispose()
.The caller who constructs a Skinnable must also construct a Skin and properly establish the relationship between the Control and its Skin.
- Specified by:
getSkinnable
in interfaceSkin<C extends Control>
- Returns:
- A non-null Skinnable, or null value if disposed.
-
getNode
Gets the Node which represents this Skin. This must never be null, except after a call toSkin.dispose()
, and must never change except when changing to null. -
dispose
public void 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,Skin.getSkinnable()
andSkin.getNode()
should returnnull
.Calling
Skin.dispose()
more than once has no effect. -
getChildren
Returns the children of the skin.- Returns:
- the children of the skin
-
layoutChildren
protected void layoutChildren(double contentX, double contentY, double contentWidth, double contentHeight) Called during the layout pass of the scenegraph.- Parameters:
contentX
- the x positioncontentY
- the y positioncontentWidth
- the widthcontentHeight
- the height
-
consumeMouseEvents
protected final void consumeMouseEvents(boolean value) Determines whether all mouse events should be automatically consumed.- Parameters:
value
- the consume mouse events flag
-
registerChangeListener
protected final void registerChangeListener(ObservableValue<?> observable, Consumer<ObservableValue<?>> operation) Registers an operation to perform when the givenobservable
sends a change event. Does nothing if eitherobservable
oroperation
arenull
. If multiple operations are registered on the same observable, they will be performed in the order in which they were registered.- Parameters:
observable
- the observable to observe for change events, may benull
operation
- the operation to perform when the observable sends a change event, may benull
- Since:
- 9
-
unregisterChangeListeners
protected final Consumer<ObservableValue<?>> unregisterChangeListeners(ObservableValue<?> observable) Unregisters all operations that have been registered usingregisterChangeListener(ObservableValue, Consumer)
for the givenobservable
. Does nothing ifobservable
isnull
.- Parameters:
observable
- the observable for which the registered operations should be removed, may benull
- Returns:
- a composed consumer representing all previously registered operations, or
null
if none have been registered or the observable isnull
- Since:
- 9
-
registerInvalidationListener
protected final void registerInvalidationListener(Observable observable, Consumer<Observable> operation) Registers an operation to perform when the givenobservable
sends an invalidation event. Does nothing if eitherobservable
oroperation
arenull
. If multiple operations are registered on the same observable, they will be performed in the order in which they were registered.- Parameters:
observable
- the observable to observe for invalidation events, may benull
operation
- the operation to perform when the observable sends an invalidation event, may benull
- Since:
- 17
-
unregisterInvalidationListeners
Unregisters all operations that have been registered usingregisterInvalidationListener(Observable, Consumer)
for the givenobservable
. Does nothing ifobservable
isnull
.- Parameters:
observable
- the observable for which the registered operations should be removed, may benull
- Returns:
- a composed consumer representing all previously registered operations, or
null
if none have been registered or the observable isnull
- Since:
- 17
-
registerListChangeListener
protected final void registerListChangeListener(ObservableList<?> observableList, Consumer<ListChangeListener.Change<?>> operation) Registers an operation to perform when the givenobservableList
sends a list change event. Does nothing if eitherobservableList
oroperation
arenull
. If multiple operations are registered on the same observable list, they will be performed in the order in which they were registered.- Parameters:
observableList
- the observableList to observe for list change events, may benull
operation
- the operation to perform when the observableList sends a list change event, may benull
- Since:
- 17
-
unregisterListChangeListeners
protected final Consumer<ListChangeListener.Change<?>> unregisterListChangeListeners(ObservableList<?> observableList) Unregisters all operations that have been registered usingregisterListChangeListener(ObservableList, Consumer)
for the givenobservableList
. Does nothing ifobservableList
isnull
.- Parameters:
observableList
- the observableList for which the registered operations should be removed, may benull
- Returns:
- a composed consumer representing all previously registered operations, or
null
if none have been registered or the observableList isnull
- Since:
- 17
-
computeMinWidth
protected double computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset) Computes the minimum allowable width of the Skin, based on the provided height.- Parameters:
height
- The height of the Skin, in case this value might dictate the minimum width.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 width of this Skin.
-
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.- 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.
-
computeMaxWidth
protected double computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset) Computes the maximum allowable width of the Skin, based on the provided height.- Parameters:
height
- The height of the Skin, in case this value might dictate the maximum width.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 width of this Skin.
-
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.- 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.- 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
-
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.- 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
-
computeBaselineOffset
protected double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset) Calculates the baseline offset based on the first managed child. If there is no such child, returnsNode.getBaselineOffset()
.- Parameters:
topInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left inset- Returns:
- baseline offset
-
snappedTopInset
protected double snappedTopInset()Utility method to get the top inset which includes padding and border inset. Then snapped to whole pixels if getSkinnable().isSnapToPixel() is true.- Returns:
- Rounded up insets top
-
snappedBottomInset
protected double snappedBottomInset()Utility method to get the bottom inset which includes padding and border inset. Then snapped to whole pixels if getSkinnable().isSnapToPixel() is true.- Returns:
- Rounded up insets bottom
-
snappedLeftInset
protected double snappedLeftInset()Utility method to get the left inset which includes padding and border inset. Then snapped to whole pixels if getSkinnable().isSnapToPixel() is true.- Returns:
- Rounded up insets left
-
snappedRightInset
protected double snappedRightInset()Utility method to get the right inset which includes padding and border inset. Then snapped to whole pixels if getSkinnable().isSnapToPixel() is true.- Returns:
- Rounded up insets right
-
snapSpace
Deprecated.replaced bysnapSpaceX()
andsnapSpaceY()
IfgetSkinnable().isSnapToPixel()
is false, this method returns the same value, else it tries to return a value rounded to the nearest pixel, but since there is no indication if the value is a vertical or horizontal measurement then it may be snapped to the wrong pixel size metric on screens with different horizontal and vertical scales.- Parameters:
value
- the space value to be snapped- Returns:
- value rounded to nearest pixel
-
snapSpaceX
protected double snapSpaceX(double value) Convenience method for accessing thesnapSpaceX()
method on the skinnable. It is equivalent to callinggetSkinnable().snapSpaceX(value)
.- Parameters:
value
- the space value to be snapped- Returns:
- value rounded to nearest pixel
- Since:
- 9
- See Also:
-
snapSpaceY
protected double snapSpaceY(double value) Convenience method for accessing thesnapSpaceY()
method on the skinnable. It is equivalent to callinggetSkinnable().snapSpaceY(value)
.- Parameters:
value
- the space value to be snapped- Returns:
- value rounded to nearest pixel
- Since:
- 9
- See Also:
-
snapSize
Deprecated.replaced bysnapSizeX()
andsnapSizeY()
IfgetSkinnable().isSnapToPixel()
is false, this method returns the same value, else it tries to return a value ceiled to the nearest pixel, but since there is no indication if the value is a vertical or horizontal measurement then it may be snapped to the wrong pixel size metric on screens with different horizontal and vertical scales.- Parameters:
value
- the size value to be snapped- Returns:
- value ceiled to nearest pixel
-
snapSizeX
protected double snapSizeX(double value) Convenience method for accessing thesnapSizeX()
method on the skinnable. It is equivalent to callinggetSkinnable().snapSizeX(value)
.- Parameters:
value
- the size value to be snapped- Returns:
- value ceiled to nearest pixel
- Since:
- 9
- See Also:
-
snapSizeY
protected double snapSizeY(double value) Convenience method for accessing thesnapSizeY()
method on the skinnable. It is equivalent to callinggetSkinnable().snapSizeY(value)
.- Parameters:
value
- the size value to be snapped- Returns:
- value ceiled to nearest pixel
- Since:
- 9
- See Also:
-
snapPosition
Deprecated.replaced bysnapPositionX()
andsnapPositionY()
IfgetSkinnable().isSnapToPixel()
is false, this method returns the same value, else it tries to return a value rounded to the nearest pixel, but since there is no indication if the value is a vertical or horizontal measurement then it may be snapped to the wrong pixel size metric on screens with different horizontal and vertical scales.- Parameters:
value
- the position value to be snapped- Returns:
- value rounded to nearest pixel
-
snapPositionX
protected double snapPositionX(double value) Convenience method for accessing thesnapPositionX()
method on the skinnable. It is equivalent to callinggetSkinnable().snapPositionX(value)
.- Parameters:
value
- the position value to be snapped- Returns:
- value rounded to nearest pixel
- Since:
- 9
- See Also:
-
snapPositionY
protected double snapPositionY(double value) Convenience method for accessing thesnapPositionY()
method on the skinnable. It is equivalent to callinggetSkinnable().snapPositionY(value)
.- Parameters:
value
- the position value to be snapped- Returns:
- value rounded to nearest pixel
- Since:
- 9
- See Also:
-
positionInArea
protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment) Utility method which positions the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.This function does not resize the node and uses the node's layout bounds width and height to determine how it should be positioned within the area.
If the vertical alignment is
VPos.BASELINE
then it will position the node so that its own baseline aligns with the passed inbaselineOffset
, otherwise the baseline parameter is ignored.If
snapToPixel
istrue
for this skin, then the x/y position values will be rounded to their nearest pixel boundaries.- Parameters:
child
- the child being positioned within this skinareaX
- the horizontal offset of the layout area relative to this skinareaY
- the vertical offset of the layout area relative to this skinareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEhalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the area
-
positionInArea
protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment) Utility method which positions the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.This function does not resize the node and uses the node's layout bounds width and height to determine how it should be positioned within the area.
If the vertical alignment is
VPos.BASELINE
then it will position the node so that its own baseline aligns with the passed inbaselineOffset
, otherwise the baseline parameter is ignored.If
snapToPixel
istrue
for this skin, then the x/y position values will be rounded to their nearest pixel boundaries.If
margin
is non-null, then that space will be allocated around the child within the layout area. margin may be null.- Parameters:
child
- the child being positioned within this skinareaX
- the horizontal offset of the layout area relative to this skinareaY
- the vertical offset of the layout area relative to this skinareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childhalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the area- Since:
- JavaFX 8.0
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.If the child is resizable, this method will resize it to fill the specified area unless the node's maximum size prevents it. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.
If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first to the area's width (up to the child's max width limit) and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height to the area height (up to child's max height limit) and pass that height to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.
If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.
If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is
VPos.BASELINE
then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.If
snapToPixel
istrue
for this skin, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.- Parameters:
child
- the child being positioned within this skinareaX
- the horizontal offset of the layout area relative to this skinareaY
- the vertical offset of the layout area relative to this skinareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEhalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the area
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.If the child is resizable, this method will resize it to fill the specified area unless the node's maximum size prevents it. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.
If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first to the area's width (up to the child's max width limit) and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height to the area height (up to child's max height limit) and pass that height to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.
If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.
If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is
VPos.BASELINE
then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.If
margin
is non-null, then that space will be allocated around the child within the layout area. margin may be null.If
snapToPixel
istrue
for this skin, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.- Parameters:
child
- the child being positioned within this skinareaX
- the horizontal offset of the layout area relative to this skinareaY
- the vertical offset of the layout area relative to this skinareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childhalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the area
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, boolean fillWidth, boolean fillHeight, HPos halignment, VPos valignment) Utility method which lays out the child within an area of this skin defined byareaX
,areaY
,areaWidth
xareaHeight
, with a baseline offset relative to that area.If the child is resizable, this method will use
fillWidth
andfillHeight
to determine whether to resize it to fill the area or keep the child at its preferred dimension. If fillWidth/fillHeight are true, then this method will only resize the child up to its max size limits. If the node's maximum size preference is less than the area size, the maximum size will be used. If node's maximum is greater than the area size, then the node will be resized to fit within the area, unless its minimum size prevents it.If the child has a non-null contentBias, then this method will use it when resizing the child. If the contentBias is horizontal, it will set its width first and then pass that value to compute the child's height. If child's contentBias is vertical, then it will set its height first and pass that value to compute the child's width. If the child's contentBias is null, then it's width and height have no dependencies on each other.
If the child is not resizable (Shape, Group, etc) then it will only be positioned and not resized.
If the child's resulting size differs from the area's size (either because it was not resizable or it's sizing preferences prevented it), then this function will align the node relative to the area using horizontal and vertical alignment values. If valignment is
VPos.BASELINE
then the node's baseline will be aligned with the area baseline offset parameter, otherwise the baseline parameter is ignored.If
margin
is non-null, then that space will be allocated around the child within the layout area. margin may be null.If
snapToPixel
istrue
for this skin, then the resulting x,y values will be rounded to their nearest pixel boundaries and the width/height values will be ceiled to the next pixel boundary.- Parameters:
child
- the child being positioned within this skinareaX
- the horizontal offset of the layout area relative to this skinareaY
- the vertical offset of the layout area relative to this skinareaWidth
- the width of the layout areaareaHeight
- the height of the layout areaareaBaselineOffset
- the baseline offset to be used if VPos is BASELINEmargin
- the margin of space to be allocated around the childfillWidth
- whether or not the child should be resized to fill the area width or kept to its preferred widthfillHeight
- whether or not the child should e resized to fill the area height or kept to its preferred heighthalignment
- the horizontal alignment for the child within the areavalignment
- the vertical alignment for the child within the area
-
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.- Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
-
pseudoClassStateChanged
Used to specify that a pseudo-class of this Node has changed. If the pseudo-class is used in a CSS selector that matches this Node, CSS will be reapplied. Typically, this method is called from theinvalidated
method of a property that is used as a pseudo-class. For example:private static final PseudoClass MY_PSEUDO_CLASS_STATE = PseudoClass.getPseudoClass("my-state"); BooleanProperty myPseudoClassState = new BooleanPropertyBase(false) { @Override public void invalidated() { pseudoClassStateChanged(MY_PSEUDO_CLASS_STATE, get()); } @Override public Object getBean() { return MyControl.this; } @Override public String getName() { return "myPseudoClassState"; } };
- Parameters:
pseudoClass
- the pseudo-class that has changed stateactive
- whether or not the state is active- Since:
- JavaFX 8.0
- See Also:
-
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.- Parameters:
attribute
- the requested attributeparameters
- optional list of parameters- Returns:
- the value for the requested attribute
- Since:
- JavaFX 8u40
- See Also:
-
executeAccessibleAction
This method is called by the assistive technology to request the action indicated by the argument should be executed.This method is commonly overridden by subclasses to implement action that are required for a specific role.
If a particular action is not handled, the superclass implementation must be called.- Parameters:
action
- the action to executeparameters
- optional list of parameters- Since:
- JavaFX 8u40
- See Also:
-
snapPositionX()
andsnapPositionY()