- java.lang.Object
-
- javafx.scene.control.SkinBase<C>
-
- All Implemented Interfaces:
-
Skin<C>
- 已知直接子类:
-
AccordionSkin
,ButtonBarSkin
,ChoiceBoxSkin
,ComboBoxBaseSkin
,HTMLEditorSkin
,LabeledSkinBase
,MenuBarSkin
,MenuButtonSkinBase
,PaginationSkin
,ProgressIndicatorSkin
,ScrollBarSkin
,ScrollPaneSkin
,SeparatorSkin
,SliderSkin
,SpinnerSkin
,SplitPaneSkin
,TabPaneSkin
,TextInputControlSkin
,ToolBarSkin
,VirtualContainerBase
public abstract class SkinBase<C extends Control> extends Object implements Skin<C>
- 从以下版本开始:
- JavaFX 8.0
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 protected double
computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
基于第一个受管理的子节点计算基线偏移量。protected double
computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的宽度计算皮肤的最大允许高度。protected double
computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的高度计算皮肤的最大允许宽度。protected double
computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的宽度计算皮肤的最小允许高度。protected double
computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的高度计算皮肤的最小允许宽度。protected double
computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
计算这个SkinBase
的首选高度。protected double
computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
计算SkinBase
的首选宽度。protected void
consumeMouseEvents(boolean value)
确定是否应自动消耗所有鼠标事件。void
dispose()
当Skinnable更换皮肤时,由Skinnable调用。protected void
executeAccessibleAction(AccessibleAction action, Object... parameters)
该方法由辅助技术调用,请求执行由参数指示的动作。ObservableList<Node>
getChildren()
返回皮肤的孩子。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
返回与此类相关联的CssMetaData,其可以包括其超类的CssMetaData。List<CssMetaData<? extends Styleable,?>>
getCssMetaData()
该方法应该委托给Node.getClassCssMetaData()
,以便可以访问节点的CssMetaData而不需要反射。Node
getNode()
获取代表此皮肤的节点。C
getSkinnable()
获取此皮肤分配到的Skinnable。protected void
layoutChildren(double contentX, double contentY, double contentWidth, double contentHeight)
在场景图的布局过程中调用。protected void
layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
其中规定了子由所限定的本皮肤区域内实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。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)
其中规定了子由所限定的本皮肤区域内实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。protected void
layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
其中规定了子由所限定的本皮肤区域内实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。protected void
positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
通过定义哪个位置此皮肤区域中的子项实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。protected void
positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
通过定义哪个位置此皮肤区域中的子项实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。void
pseudoClassStateChanged(PseudoClass pseudoClass, boolean active)
用于指定此节点的伪类已更改。protected Object
queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。protected void
registerChangeListener(ObservableValue<?> property, Consumer<ObservableValue<?>> consumer)
子类可以调用此方法来注册他们想要监听给定属性的属性更改事件。protected double
snappedBottomInset()
获取底部插图的实用方法,其中包括填充和边框插入。protected double
snappedLeftInset()
获取包含填充和边框插入的左边插图的实用方法。protected double
snappedRightInset()
获取正确的插图的实用方法,包括填充和边框插入。protected double
snappedTopInset()
获取包含填充和边框插入的顶层插图的实用方法。protected double
snapPosition(double value)
已过时。替换为snapPositionX()
和snapPositionY()
protected double
snapPositionX(double value)
便于访问snapPositionX()
方法的 skinnable 。protected double
snapPositionY(double value)
方便访问snapPositionY()
方法的 skinnable 。protected double
snapSize(double value)
已过时。由snapSizeX()
和snapSizeY()
取代protected double
snapSizeX(double value)
方便访问snapSizeX()
方法的 skinnable 。protected double
snapSizeY(double value)
方便访问snapSizeY()
方法的 skinnable 。protected double
snapSpace(double value)
已过时。替换为snapSpaceX()
和snapSpaceY()
protected double
snapSpaceX(double value)
方便访问snapSpaceX()
方法的 skinnable 。protected double
snapSpaceY(double value)
方便的方法访问snapSpaceY()
方法在 skinnable 。protected Consumer<ObservableValue<?>>
unregisterChangeListeners(ObservableValue<?> property)
取消注册已使用registerChangeListener(ObservableValue, Consumer)
注册的所有更改侦听器的给定属性。
-
-
-
构造方法详细信息
-
SkinBase
protected SkinBase(C control)
所有SkinBase实例的构造方法。- 参数
-
control
- 此皮肤应附加到的控件。
-
-
方法详细信息
-
getSkinnable
public final C getSkinnable()
获取此皮肤分配到的Skinnable。 必须为仅一个Skinnable创建一个皮肤。 当皮肤从Skinnable中删除时,此值只会从非空值转为空值,并且仅作为调用Skin.dispose()
的结果 。构建Skinnable的调用者还必须构建一个“皮肤”并正确建立“控件”和“皮肤”之间的关系。
- Specified by:
-
getSkinnable
在接口Skin<C extends Control>
- 结果
- 非空的Skinnable,如果处理,则为空值。
-
getNode
public final Node getNode()
获取代表此皮肤的节点。 除非在调用Skin.dispose()
之后 ,除非更改为null,否则绝对不能为空。
-
dispose
public void dispose()
当Skinnable更换皮肤时,由Skinnable调用。 该方法允许皮肤在不再需要皮肤后,实现任何必要的清理功能。 它可能用于释放本机资源。 在处理调用后,方法Skin.getSkinnable()
和Skin.getNode()
应返回null。 呼叫处理两次无效。
-
getChildren
public final ObservableList<Node> getChildren()
返回皮肤的孩子。- 结果
- 皮肤的孩子
-
layoutChildren
protected void layoutChildren(double contentX, double contentY, double contentWidth, double contentHeight)
在场景图的布局过程中调用。- 参数
-
contentX
- x位置 -
contentY
- y位置 -
contentWidth
- 宽度 -
contentHeight
- 高度
-
consumeMouseEvents
protected final void consumeMouseEvents(boolean value)
确定是否应自动消耗所有鼠标事件。- 参数
-
value
- 消费鼠标事件标志
-
registerChangeListener
protected final void registerChangeListener(ObservableValue<?> property, Consumer<ObservableValue<?>> consumer)
- 参数
-
property
- 该物业 -
consumer
- 消费者
-
unregisterChangeListeners
protected final Consumer<ObservableValue<?>> unregisterChangeListeners(ObservableValue<?> property)
取消注册已使用registerChangeListener(ObservableValue, Consumer)
注册的所有更改侦听器的给定属性。 最终的结果是任何变化监听者不再观察到给定的属性,但是通过registerChangeListener(ObservableValue, Consumer)
之外的手段,它仍然可以在其上注册另外的监听器 。- 参数
-
property
- 应该删除所有侦听器的属性。 - 结果
-
单链
Consumer
由所有的consumers
挂号registerChangeListener(ObservableValue, Consumer)
。 如果该物业没有注册消费者,则返回null。 - 从以下版本开始:
- 9
-
computeMinWidth
protected double computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的高度计算皮肤的最小允许宽度。- 参数
-
height
- 皮肤的高度,以防该值可能决定最小宽度。 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素捕捉底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 表示此皮肤最小宽度的双倍。
-
computeMinHeight
protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的宽度计算皮肤的最小允许高度。- 参数
-
width
- 皮肤的宽度,以防该值可能决定最小高度。 -
topInset
- 像素拍摄的顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 一个双倍代表这个皮肤的最小高度。
-
computeMaxWidth
protected double computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的高度计算皮肤的最大允许宽度。- 参数
-
height
- 皮肤的高度,以防该值可能决定最大宽度。 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素啪嗒的底部插入 -
leftInset
- 像素拍摄左边插图 - 结果
- 双倍表示此皮肤的最大宽度。
-
computeMaxHeight
protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的宽度计算皮肤的最大允许高度。- 参数
-
width
- 皮肤的宽度,以防该值可能决定最大高度。 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素啪嗒的底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 一个双倍代表这个皮肤的最大高度。
-
computePrefWidth
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
计算此SkinBase
的首选宽度。 默认实现将这个宽度计算为被管理子对象以其首选宽度位于其当前位置时占用的区域的宽度。- 参数
-
height
- 如果首选宽度取决于应该使用的高度 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 计算的优选宽度
-
computePrefHeight
protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
计算SkinBase
的首选高度。 默认实现将此高度计算为被管理儿童以其首选高度位于其当前位置时占用的区域的高度。- 参数
-
width
- 如果首选高度取决于应该使用的宽度 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素啪嗒的底部插入 -
leftInset
- 像素拍摄左边插图 - 结果
- 计算的优选高度
-
computeBaselineOffset
protected double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
基于第一个受管理的子节点计算基线偏移量。 如果没有这样的孩子,返回Node.getBaselineOffset()
。- 参数
-
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 基线偏移
-
snappedTopInset
protected double snappedTopInset()
获取包含填充和边框插入的顶层插图的实用方法。 如果getSkinnable()。isSnapToPixel()为true,则将其全部移动到像素上。- 结果
- 圆顶顶
-
snappedBottomInset
protected double snappedBottomInset()
获取底部插图的实用方法,其中包括填充和边框插入。 如果getSkinnable()。isSnapToPixel()为true,则将其全部移动到像素上。- 结果
- 倒圆角的底部
-
snappedLeftInset
protected double snappedLeftInset()
获取包含填充和边框插入的左边插图的实用方法。 如果getSkinnable()。isSnapToPixel()为true,则将其全部移动到像素上。- 结果
- 向左舍入
-
snappedRightInset
protected double snappedRightInset()
获取正确的插图的实用方法,包括填充和边框插入。 如果getSkinnable()。isSnapToPixel()为true,则将其全部移动到像素上。- 结果
- 圆形插图正确
-
snapSpace
@Deprecated(since="9") protected double snapSpace(double value)
已过时。 替换为snapSpaceX()
和snapSpaceY()
如果getSkinnable().isSnapToPixel()
为false,则该方法返回相同的值,否则它会尝试将值舍入到最近的像素,但是由于没有指示值是垂直还是水平测量,那么它可能会getSkinnable().isSnapToPixel()
错误的像素大小具有不同水平和垂直刻度的屏幕上的公制。- 参数
-
value
- 要捕获的空间值 - 结果
- 值舍入到最近的像素
-
snapSpaceX
protected double snapSpaceX(double value)
方便的方法访问snapSpaceX()
方法在skinnable 。 相当于调用getSkinnable().snapSpaceX(value)
。- 参数
-
value
- 要捕获的空间值 - 结果
- 值舍入到最近的像素
- 从以下版本开始:
- 9
- 另请参见:
-
Region.snapSpaceX(double)
-
snapSpaceY
protected double snapSpaceY(double value)
方便的方法访问snapSpaceY()
方法在skinnable 。 相当于调用getSkinnable().snapSpaceY(value)
。- 参数
-
value
- 要捕获的空间值 - 结果
- 值舍入到最近的像素
- 从以下版本开始:
- 9
- 另请参见:
-
Region.snapSpaceY(double)
-
snapSize
@Deprecated(since="9") protected double snapSize(double value)
已过时。 替换为snapSizeX()
和snapSizeY()
如果getSkinnable().isSnapToPixel()
为false,则该方法返回相同的值,否则会尝试将值舍弃为最近的像素,但是由于没有指示值是垂直还是水平测量,因此可能会捕获到错误的像素大小具有不同水平和垂直刻度的屏幕上的公制。- 参数
-
value
- 要拍摄的大小值 - 结果
- 值被忽略到最近的像素
-
snapSizeX
protected double snapSizeX(double value)
方便访问snapSizeX()
方法的skinnable 。 相当于调用getSkinnable().snapSizeX(value)
。- 参数
-
value
- 要拍摄的大小值 - 结果
- 值被忽略到最近的像素
- 从以下版本开始:
- 9
- 另请参见:
-
Region.snapSizeX(double)
-
snapSizeY
protected double snapSizeY(double value)
方便的方法访问snapSizeY()
方法的skinnable 。 相当于调用getSkinnable().snapSizeY(value)
。- 参数
-
value
- 要拍摄的大小值 - 结果
- 值被忽略到最近的像素
- 从以下版本开始:
- 9
- 另请参见:
-
Region.snapSizeY(double)
-
snapPosition
@Deprecated(since="9") protected double snapPosition(double value)
已过时。 替换为snapPositionX()
和snapPositionY()
如果getSkinnable().isSnapToPixel()
为false,则该方法返回相同的值,否则将尝试将值舍入到最近的像素,但是由于没有指示值是垂直还是水平测量,因此可能会getSkinnable().isSnapToPixel()
错误的像素大小具有不同水平和垂直刻度的屏幕上的公制。- 参数
-
value
- 要value
的位置值 - 结果
- 值舍入到最近的像素
-
snapPositionX
protected double snapPositionX(double value)
方便访问snapPositionX()
方法的skinnable 。 相当于调用getSkinnable().snapPositionX(value)
。- 参数
-
value
- 要value
的位置值 - 结果
- 值舍入到最近的像素
- 从以下版本开始:
- 9
- 另请参见:
-
Region.snapPositionX(double)
-
snapPositionY
protected double snapPositionY(double value)
方便访问snapPositionY()
方法的skinnable 。 相当于调用getSkinnable().snapPositionY(value)
。- 参数
-
value
- 要value
的位置值 - 结果
- 值舍入到最近的像素
- 从以下版本开始:
- 9
- 另请参见:
-
Region.snapPositionY(double)
-
positionInArea
protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
通过定义哪个位置此皮肤区域中的子项实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。此功能不调整节点和使用节点的布局界限的宽度和高度,以决定应如何定位的区域内。
如果垂直对齐是
VPos.BASELINE
那么它将定位节点,使其自己的基线与baselineOffset
传递的基线对齐,否则基线参数将被忽略。如果
snapToPixel
是这个皮肤的true
,则x / y位置值将被舍入到最接近的像素边界。- 参数
-
child
- 孩子被定位在这个皮肤内 -
areaX
- 相对于这个皮肤的布局区域的水平偏移 -
areaY
- 相对于这个皮肤的布局面积的垂直偏移 -
areaWidth
- 布局区域的宽度 -
areaHeight
- 布局区域的高度 -
areaBaselineOffset
- 如果VPos为BASELINE,则使用的基线偏移量 -
halignment
- 区域内儿童的水平对齐方式 -
valignment
- 区域内儿童的垂直对齐方式
-
positionInArea
protected void positionInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
通过定义哪个位置此皮肤区域中的子项实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。此功能不调整节点和使用节点的布局界限的宽度和高度,以决定应如何定位的区域内。
如果垂直对齐是
VPos.BASELINE
那么它将定位节点,使其自己的基线与baselineOffset
传递的基线对齐,否则基线参数将被忽略。如果
snapToPixel
是这个皮肤的true
,则x / y位置值将被舍入到最接近的像素边界。如果
margin
为非空值,则该空间将在布局区域内的小孩周围分配。 保证金可能为空。- 参数
-
child
- 孩子被定位在这个皮肤内 -
areaX
- 相对于这个皮肤的布局区域的水平偏移 -
areaY
- 相对于这个皮肤的布局区域的垂直偏移 -
areaWidth
- 布局区域的宽度 -
areaHeight
- 布局区域的高度 -
areaBaselineOffset
- 如果areaBaselineOffset
为基线,则使用的基线偏移量 -
margin
- 要分配给孩子的空间余量 -
halignment
- 区域内儿童的水平对齐方式 -
valignment
- 区域内儿童的垂直对齐方式 - 从以下版本开始:
- JavaFX 8.0
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, HPos halignment, VPos valignment)
其中规定了子由所限定的本皮肤区域内实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。如果孩子可调整大小,则该方法将调整其大小以填充指定的区域,除非该节点的最大大小阻止它。 如果节点的最大大小偏好小于区域大小,则将使用最大大小。 如果节点的最大值大于区域大小,则节点将被调整大小以适合该区域,除非它的最小大小阻止它。
如果孩子有一个非空的contentBias,那么这个方法将在调整小孩时使用它。 如果contentBias是水平的,它将首先将其宽度设置为区域的宽度(直到孩子的最大宽度限制),然后传递该值以计算孩子的高度。 如果孩子的contentBias是垂直的,那么它将把它的高度设置为区域高度(最高到孩子的最大高度限制),并传递该高度来计算孩子的宽度。 如果孩子的contentBias为null,那么它的width和height没有彼此的依赖关系。
如果孩子不能调整大小(Shape,Group等),那么它只能被定位,而不是调整大小。
如果小孩的大小与区域的大小不同(由于它不是可调整大小,或者是调整大小偏好设置),那么这个函数将使用水平和垂直对齐值来对齐节点。 如果取值为
VPos.BASELINE
则节点的基线将与区域基线偏移参数对齐,否则基线参数将被忽略。如果此皮肤的
snapToPixel
为true
,则所得到的x,y值将舍入为最近的像素边界,宽/高值将被忽略到下一个像素边界。- 参数
-
child
- 孩子被定位在这个皮肤内 -
areaX
- 相对于这个皮肤的布局区域的水平偏移 -
areaY
- 相对于这个皮肤的布局面积的垂直偏移 -
areaWidth
- 布局区域的宽度 -
areaHeight
- 布局区域的高度 -
areaBaselineOffset
- 如果areaBaselineOffset
为基线,则使用的基线偏移量 -
halignment
- 区域内儿童的水平对齐方式 -
valignment
- 区域内儿童的垂直对齐方式
-
layoutInArea
protected void layoutInArea(Node child, double areaX, double areaY, double areaWidth, double areaHeight, double areaBaselineOffset, Insets margin, HPos halignment, VPos valignment)
其中规定了子由所限定的本皮肤区域内实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。如果孩子可调整大小,则该方法将调整其大小以填充指定的区域,除非该节点的最大大小阻止它。 如果节点的最大大小偏好小于区域大小,则将使用最大大小。 如果节点的最大值大于区域大小,则节点将被调整大小以适合该区域,除非它的最小大小阻止它。
如果孩子有一个非空的contentBias,那么这个方法将在调整小孩时使用它。 如果contentBias是水平的,它将首先将其宽度设置为区域的宽度(直到孩子的最大宽度限制),然后传递该值以计算孩子的高度。 如果孩子的contentBias是垂直的,那么它将把它的高度设置为区域高度(最高到孩子的最大高度限制),并传递该高度来计算孩子的宽度。 如果孩子的contentBias为null,那么它的width和height没有彼此的依赖关系。
如果孩子不能调整大小(Shape,Group等),那么它只能被定位,而不是调整大小。
如果小孩的大小与区域的大小不同(由于它不是可调整大小,或者是调整大小偏好设置),那么这个函数将使用水平和垂直对齐值来对齐节点。 如果取值为
VPos.BASELINE
则节点的基线将与区域基线偏移参数对齐,否则基线参数将被忽略。如果
margin
为非空值,则该空间将在布局区域内的小孩周围分配。 保证金可能为空。如果
snapToPixel
是这个皮肤的true
,则所得到的x,y值将被四舍五入到其最近的像素边界,并且宽/高值将被忽略到下一个像素边界。- 参数
-
child
- 孩子被定位在这个皮肤内 -
areaX
- 相对于这个皮肤的布局区域的水平偏移 -
areaY
- 相对于这个皮肤的布局区域的垂直偏移 -
areaWidth
- 布局区域的宽度 -
areaHeight
- 布局区域的高度 -
areaBaselineOffset
- 如果VPOS为BASELINE,则使用的基线偏移量 -
margin
- 要在孩子周围分配的空间余量 -
halignment
- 区域内儿童的水平对齐方式 -
valignment
- 区域内儿童的垂直对齐方式
-
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)
其中规定了子由所限定的本皮肤区域内实用方法areaX
,areaY
,areaWidth
XareaHeight
,与基线偏移相对于该区域。如果小孩可调整大小,则此方法将使用
fillWidth
和fillHeight
来确定是否调整其大小以填充该区域或将孩子保持在其首选的尺寸。 如果fillWidth / fillHeight为true,那么此方法将仅调整小孩的大小,直到其最大大小限制。 如果节点的最大大小偏好小于区域大小,则将使用最大大小。 如果节点的最大值大于区域大小,则节点将被调整大小以适合该区域,除非它的最小大小阻止它。如果孩子有一个非空的contentBias,那么这个方法将在调整小孩时使用它。 如果contentBias是水平的,它将首先设置它的宽度,然后传递该值来计算孩子的高度。 如果child的contentBias是垂直的,那么它将首先设置它的高度,并传递该值来计算孩子的宽度。 如果孩子的contentBias为null,那么它的width和height没有彼此的依赖关系。
如果孩子不能调整大小(Shape,Group等),那么它只能被定位,而不是调整大小。
如果小孩的大小与区域的大小不同(由于它不是可调整大小,或者是调整大小偏好设置),那么这个函数将使用水平和垂直对齐值来对齐节点。 如果取值为
VPos.BASELINE
则节点的基线将与区域基线偏移参数对齐,否则基线参数将被忽略。如果
margin
为非空值,则该空间将在布局区域内的小孩周围分配。 保证金可能为空。如果此皮肤的
snapToPixel
为true
,则所得到的x,y值将舍入为最近的像素边界,宽/高值将被忽略到下一个像素边界。- 参数
-
child
- 孩子被定位在这个皮肤内 -
areaX
- 相对于此皮肤的布局区域的水平偏移 -
areaY
- 相对于这个皮肤的布局区域的垂直偏移 -
areaWidth
- 布局区域的宽度 -
areaHeight
- 布局区域的高度 -
areaBaselineOffset
- 如果VPOS为BASELINE,则使用的基线偏移量 -
margin
- 要在孩子周围分配的空间余量 -
fillWidth
- 小孩是否应调整大小以填补面积宽度或保持其首选宽度 -
fillHeight
- 无论小孩是否应该调整大小以填补区域高度或保持在其首选高度 -
halignment
- 区域内儿童的水平对齐 -
valignment
- 区域内儿童的垂直对齐方式
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
返回与此类相关联的CssMetaData,其可以包括其超类的CssMetaData。- 结果
- 与此类相关联的CssMetaData,其可以包括其超类的CssMetaData
-
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
该方法应该委托给Node.getClassCssMetaData()
,以便可以访问节点的CssMetaData而不需要反射。- 结果
- 与该节点相关联的CssMetaData,其可以包括其超类的CssMetaData。
-
pseudoClassStateChanged
public final void pseudoClassStateChanged(PseudoClass pseudoClass, boolean active)
用于指定此节点的伪类已更改。 如果在与CSS相符的CSS选择器中使用伪类,则将重新应用CSS。 通常,该方法是从用作伪类的属性的invalidated
方法中调用的。 例如: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"; } };
- 参数
-
pseudoClass
- 已修改状态的伪类 -
active
- 状态是否活动 - 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
Node.pseudoClassStateChanged(javafx.css.PseudoClass, boolean)
-
queryAccessibleAttribute
protected Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。子类通常覆盖此方法来实现特定角色所需的属性。
如果未处理特定属性,则必须调用超类实现。- 参数
-
attribute
- 请求的属性 -
parameters
- 可选参数列表 - 结果
- 请求的属性的值
- 从以下版本开始:
- JavaFX 8u40
- 另请参见:
-
AccessibleAttribute
,Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)
-
executeAccessibleAction
protected void executeAccessibleAction(AccessibleAction action, Object... parameters)
该方法由辅助技术调用,请求执行由参数指示的动作。此方法通常被子类覆盖,以实现特定角色所需的操作。
如果未处理特定操作,则必须调用超类实现。- 参数
-
action
- 要执行的动作 -
parameters
- 可选参数列表 - 从以下版本开始:
- JavaFX 8u40
- 另请参见:
-
AccessibleAction
,Node.executeAccessibleAction(javafx.scene.AccessibleAction, java.lang.Object...)
-
-