- java.lang.Object
-
- javafx.scene.control.SkinBase<C>
-
- javafx.scene.control.skin.LabeledSkinBase<C>
-
- All Implemented Interfaces:
-
Skin<C>
- 已知直接子类:
-
ButtonSkin
,CellSkinBase
,CheckBoxSkin
,HyperlinkSkin
,LabelSkin
,RadioButtonSkin
,TitledPaneSkin
,ToggleButtonSkin
public abstract class LabeledSkinBase<C extends Labeled> extends SkinBase<C>
控件的默认皮肤实现扩展为Labeled
。- 从以下版本开始:
- 9
- 另请参见:
-
Labeled
-
-
构造方法摘要
构造方法 Constructor 描述 LabeledSkinBase(C labeled)
LabeledSkinBase的构造方法。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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)
计算并返回此Labeled的最小宽度。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
layoutChildren(double x, double y, double w, double h)
布局算法的工作原理如下: - 获取标签的w / h,图形w / h,文本w / h - 基于graphicVPos,graphicHPos,graphicTextGap和图形w / h和文本w / h - (请注意,文本内容已经在必要时被预截取) - 基于内容w / h计算内容x / y并标记为w / h,标记的hpos和vpos定位图形和文本protected void
layoutLabelInArea(double x, double y, double w, double h)
在给定的区域内执行标签内容的实际布局。protected void
layoutLabelInArea(double x, double y, double w, double h, Pos alignment)
在给定的区域内执行标签内容的实际布局。protected Object
queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。protected void
updateChildren()
更新由LabeledSkinBase管理的子项,LabeledSkinBase可以是Labeled图形和/或Text节点。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class javafx.scene.control.SkinBase
consumeMouseEvents, dispose, executeAccessibleAction, getChildren, getClassCssMetaData, getCssMetaData, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, registerChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners
-
-
-
-
构造方法详细信息
-
LabeledSkinBase
public LabeledSkinBase(C labeled)
LabeledSkinBase的构造方法。 必须指定“标签”,不能为空。 在构造函数调用结束时,皮肤将被标记为needsLayout,并将根据标记的当前状态进行完全配置。 对标签的任何后续更改将通过监听器处理并适当应用。- 参数
-
labeled
- 这个皮肤应该被安装的标签。
-
-
方法详细信息
-
updateChildren
protected void updateChildren()
更新由LabeledSkinBase管理的子项,LabeledSkinBase可以是Labeled图形和/或Text节点。 仅使用实际必须使用的那些节点。 例如,使用GRAPHIC_ONLY的ContentDisplay不添加文本节点,并且使用TEXT_ONLY的ContentDisplay,不会添加图形。
-
computeMinWidth
protected double computeMinWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
计算并返回此Labeled的最小宽度。 最小宽度是“...”宽度的较小值,带有实际文本的宽度。 这样,如果文本宽度本身小于省略号,那么我们应该将其用作最小宽度,否则省略号需要是最小宽度。我们在这里使用相同的计算方法,无论我们在谈论单个或多个标签。 所以一个多行的标签可能会发现,“...”的宽度与它将会得到的一样小。
- 重写:
-
computeMinWidth
在SkinBase<C extends Labeled>
- 参数
-
height
- 皮肤的高度,以防该值可能决定最小宽度。 -
topInset
- 像素啪嗒的顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 表示此皮肤最小宽度的双倍。
-
computeMinHeight
protected double computeMinHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的宽度计算皮肤的最小允许高度。- 重写:
-
computeMinHeight
中的SkinBase<C extends Labeled>
- 参数
-
width
- 皮肤的宽度,以防该值可能决定最小高度。 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 一个双倍代表这个皮肤的最小高度。
-
computePrefWidth
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
计算SkinBase
的首选宽度。 默认实现将这个宽度计算为被管理子对象以其首选宽度位于其当前位置时占用的区域的宽度。- 重写:
-
computePrefWidth
中的SkinBase<C extends Labeled>
- 参数
-
height
- 如果首选宽度取决于应该使用的高度 -
topInset
- 像素拍摄的顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 计算的优选宽度
-
computePrefHeight
protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
计算这个SkinBase
的首选高度。 默认实现将此高度计算为被管理儿童以其首选高度位于其当前位置时占用的区域的高度。- 重写:
-
computePrefHeight
在SkinBase<C extends Labeled>
- 参数
-
width
- 如果首选高度取决于应该使用的宽度 -
topInset
- 像素拍摄的顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素啪嗒的底部插入 -
leftInset
- 像素拍摄左边插图 - 结果
- 计算的优选高度
-
computeMaxWidth
protected double computeMaxWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的高度计算皮肤的最大允许宽度。- 重写:
-
computeMaxWidth
中的SkinBase<C extends Labeled>
- 参数
-
height
- 皮肤的高度,以防该值可能决定最大宽度。 -
topInset
- 像素拍摄的顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 双倍表示此皮肤的最大宽度。
-
computeMaxHeight
protected double computeMaxHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
根据提供的宽度计算皮肤的最大允许高度。- 重写:
-
computeMaxHeight
中的SkinBase<C extends Labeled>
- 参数
-
width
- 皮肤的宽度,以防该值可能决定最大高度。 -
topInset
- 像素拍摄顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素啪嗒的底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 一个双倍代表这个皮肤的最大高度。
-
computeBaselineOffset
public double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
基于第一个受管理的子节点计算基线偏移量。 如果没有这样的孩子,返回Node.getBaselineOffset()
。- 重写:
-
computeBaselineOffset
在SkinBase<C extends Labeled>
- 参数
-
topInset
- 像素拍摄的顶部插图 -
rightInset
- 像素拍摄正确的插图 -
bottomInset
- 像素攫取底部插图 -
leftInset
- 像素拍摄左边插图 - 结果
- 基线偏移
-
layoutChildren
protected void layoutChildren(double x, double y, double w, double h)
布局算法的工作原理如下: - 获取标签的w / h,图形w / h,文本w / h - 基于graphicVPos,graphicHPos,graphicTextGap和图形w / h和文本w / h - (请注意,文本内容已经在必要时被预截取) - 基于内容w / h计算内容x / y并标记为w / h,标记的hpos和vpos定位图形和文本- 重写:
-
layoutChildren
在SkinBase<C extends Labeled>
- 参数
-
x
- x位置 -
y
- y位置 -
w
- 宽度 -
h
- 高度
-
layoutLabelInArea
protected void layoutLabelInArea(double x, double y, double w, double h)
在给定的区域内执行标签内容的实际布局。 该方法由覆盖layoutChildren()的子类调用。- 参数
-
x
- 控件的标签部分的x位置,内部填充 -
y
- 控件的标签部分的y位置,内部填充 -
w
- 控件的标签部分的宽度,不包括填充 -
h
- 控件的标签部分的高度,不包括填充
-
layoutLabelInArea
protected void layoutLabelInArea(double x, double y, double w, double h, Pos alignment)
在给定的区域内执行标签内容的实际布局。 该方法由覆盖layoutChildren()的子类调用。- 参数
-
x
- 控件的标签部分的x位置,内部填充 -
y
- 控件的标签部分的y位置,内部填充 -
w
- 控件的标签部分的宽度,不包括填充 -
h
- 控件的标签部分的高度,不包括填充 -
alignment
- 给定区域内控件标签部分的对齐。 如果为空,则将使用控件的对齐方式。
-
queryAccessibleAttribute
protected Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。子类通常覆盖此方法来实现特定角色所需的属性。
如果未处理特定属性,则必须调用超类实现。- 重写:
-
queryAccessibleAttribute
在SkinBase<C extends Labeled>
- 参数
-
attribute
- 请求的属性 -
parameters
- 可选参数列表 - 结果
- 请求的属性的值
- 另请参见:
-
AccessibleAttribute
,Node.queryAccessibleAttribute(javafx.scene.AccessibleAttribute, java.lang.Object...)
-
-