- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Skinnable
- 已知直接子类:
-
Accordion
,ButtonBar
,ChoiceBox
,ComboBoxBase
,HTMLEditor
,Labeled
,ListView
,MenuBar
,Pagination
,ProgressIndicator
,ScrollBar
,ScrollPane
,Separator
,Slider
,Spinner
,SplitPane
,TableView
,TabPane
,TextInputControl
,ToolBar
,TreeTableView
,TreeView
public abstract class Control extends Region implements Skinnable
所有用户界面控件的基类。 “控制”是场景图中可由用户操纵的节点。 控件提供了超出Node以外的其他变量和行为,以便为用户提供一致和可预测的方式来支持常见的用户交互。此外,控件支持显式外观,以便在自定义其外观时轻松利用控件的功能。
有关如何使用各种类型的控件的信息,请参阅具体的“控制”子类。
大多数控件的focusTraversable属性默认设置为true,但是只读控件(例如
Label
和ProgressIndicator
)以及一些控件是容器ScrollPane
和ToolBar
。 有关详细信息,请参阅个人控制文件- 从以下版本开始:
- JavaFX 2.0
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<ContextMenu>
contextMenu
为此控件显示的ContextMenu。ObjectProperty<Skin<?>>
skin
皮肤负责渲染这个Control
。ObjectProperty<Tooltip>
tooltip
用于此控件的工具提示。-
Properties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
-
Field Summary
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Control()
创建一个新的控件。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected double
computeMaxHeight(double width)
根据提供的宽度计算控制的最大允许高度。protected double
computeMaxWidth(double height)
根据提供的高度计算控件的最大允许宽度。protected double
computeMinHeight(double width)
根据提供的宽度计算控制的最小允许高度。protected double
computeMinWidth(double height)
根据提供的高度计算控件的最小允许宽度。protected double
computePrefHeight(double width)
计算给定宽度的该区域的首选高度; 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。protected double
computePrefWidth(double height)
计算给定高度的该区域的首选宽度。ObjectProperty<ContextMenu>
contextMenuProperty()
为此控件显示的ContextMenu。protected Skin<?>
createDefaultSkin()
为此控件创建一个新的默认皮肤实例。void
executeAccessibleAction(AccessibleAction action, Object... parameters)
该方法由辅助技术调用,请求执行由参数指示的动作。double
getBaselineOffset()
基于第一个受管理的子节点计算基线偏移量。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
ContextMenu
getContextMenu()
获取属性contextMenu的值。protected List<CssMetaData<? extends Styleable,?>>
getControlCssMetaData()
List<CssMetaData<? extends Styleable,?>>
getCssMetaData()
此方法返回List
包含所有CssMetaData
两个这种控制(从返回getControlCssMetaData()
及其Skin
,假设skin property
为SkinBase
。protected Boolean
getInitialFocusTraversable()
返回此控件的初始焦点遍历状态,供JavaFX CSS引擎正确设置其初始值。Skin<?>
getSkin()
获取属性皮肤的值。Tooltip
getTooltip()
获取属性工具提示的值。boolean
isResizable()
返回true
因为所有控件都可调整大小。protected void
layoutChildren()
在布局传递过程中调用这个Parent
的孩子。Object
queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。void
setContextMenu(ContextMenu value)
设置属性contextMenu的值。void
setSkin(Skin<?> value)
设置属性皮肤的值。void
setTooltip(Tooltip value)
设置属性工具提示的值。ObjectProperty<Skin<?>>
skinProperty()
皮肤负责渲染这个Control
。ObjectProperty<Tooltip>
tooltipProperty()
用于此控件的工具提示。-
Methods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
skin
public final ObjectProperty<Skin<?>> skinProperty
皮肤负责渲染这个Control
。 从Control
的角度来看,Skin
是一个黑盒子。 它在Control
监听和响应状态的Control
。Control
与其Skin
之间存在一对一的关系。 每Skin
保持回参考Control
通过Skin.getSkinnable()
方法。皮肤可能为空。
- Specified by:
-
skinProperty
在接口Skinnable
- 另请参见:
-
getSkin()
,setSkin(Skin)
-
tooltip
public final ObjectProperty<Tooltip> tooltipProperty
用于此控件的工具提示。- 另请参见:
-
getTooltip()
,setTooltip(Tooltip)
-
contextMenu
public final ObjectProperty<ContextMenu> contextMenuProperty
为此控件显示的ContextMenu。
-
-
方法详细信息
-
skinProperty
public final ObjectProperty<Skin<?>> skinProperty()
皮肤负责渲染这个Control
。 从Control
的角度来看,Skin
是一个黑盒子。 它在Control
监听和响应状态的Control
。一个
Control
和它的Skin
之间有一对一的关系。 每Skin
保持回参考Control
通过Skin.getSkinnable()
方法。皮肤可能为空。
- Specified by:
-
skinProperty
在接口Skinnable
- 另请参见:
-
getSkin()
,setSkin(Skin)
-
setSkin
public final void setSkin(Skin<?> value)
设置属性皮肤的值。- Specified by:
-
setSkin
在接口Skinnable
- Property description:
-
皮肤负责渲染这个
Control
。 从Control
的角度来看,Skin
是一个黑盒子。 它在一个Control
监听和响应状态的Control
。一个
Control
和它的Skin
之间有一对一的关系。 每Skin
保持回参考Control
通过Skin.getSkinnable()
方法。皮肤可能为空。
- 参数
-
value
- 此控件的皮肤值
-
getSkin
public final Skin<?> getSkin()
获取属性皮肤的值。- Specified by:
-
getSkin
在接口Skinnable
- Property description:
-
皮肤负责渲染这个
Control
。 从Control
的角度来看,Skin
是一个黑盒子。 它在Control
监听和响应状态的Control
。Control
与其Skin
之间存在一对一的关系。 每Skin
保持回参考Control
通过Skin.getSkinnable()
方法。皮肤可能为空。
- 结果
- 这个控制的皮肤
-
tooltipProperty
public final ObjectProperty<Tooltip> tooltipProperty()
用于此控件的工具提示。- 另请参见:
-
getTooltip()
,setTooltip(Tooltip)
-
setTooltip
public final void setTooltip(Tooltip value)
设置属性工具提示的值。- Property description:
- 用于此控件的工具提示。
-
getTooltip
public final Tooltip getTooltip()
获取属性工具提示的值。- Property description:
- 用于此控件的工具提示。
-
contextMenuProperty
public final ObjectProperty<ContextMenu> contextMenuProperty()
为此控件显示的ContextMenu。
-
setContextMenu
public final void setContextMenu(ContextMenu value)
设置属性contextMenu的值。- Property description:
- 为此控件显示的ContextMenu。
-
getContextMenu
public final ContextMenu getContextMenu()
获取属性contextMenu的值。- Property description:
- 为此控件显示的ContextMenu。
-
isResizable
public boolean isResizable()
返回true
因为所有控件都可调整大小。- 重写:
-
isResizable
在Region
- 结果
- 该布局期间该节点是否可以由其父节点调整大小
- 另请参见:
-
Node.getContentBias()
,Node.minWidth(double)
,Node.minHeight(double)
,Node.prefWidth(double)
,Node.prefHeight(double)
,Node.maxWidth(double)
,Node.maxHeight(double)
,Node.resize(double, double)
,Node.getLayoutBounds()
-
computeMinWidth
protected double computeMinWidth(double height)
- 重写:
-
computeMinWidth
在Region
- 参数
-
height
- 控件的高度,以防该值可能决定最小宽度。 - 结果
- 表示此控件的最小宽度的双倍。
-
computeMinHeight
protected double computeMinHeight(double width)
- 重写:
-
computeMinHeight
中的Region
- 参数
-
width
- 控件的宽度,以防该值可能决定最小高度。 - 结果
- 双重表示该控件的最小高度。
-
computeMaxWidth
protected double computeMaxWidth(double height)
- 重写:
-
computeMaxWidth
在Region
- 参数
-
height
- 控件的高度,以防该值可能指定最大宽度。 - 结果
- 表示此控件的最大宽度的double。
-
computeMaxHeight
protected double computeMaxHeight(double width)
- 重写:
-
computeMaxHeight
在Region
- 参数
-
width
- 控件的宽度,以防该值可能决定最大高度。 - 结果
- 双重表示此控件的最大高度。
-
computePrefWidth
protected double computePrefWidth(double height)
计算给定高度的该区域的首选宽度。 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。 如果子类没有VERTICAL内容偏差,则可以忽略height参数。- 重写:
-
computePrefWidth
在Region
- 参数
-
height
- 如果首选宽度取决于应该使用的高度 - 结果
- 计算这个区域的首选宽度
-
computePrefHeight
protected double computePrefHeight(double width)
计算给定宽度的该区域的首选高度; 区域子类应该覆盖此方法,以根据其内容和布局策略返回适当的值。 如果子类没有HORIZONTAL内容偏差,则可以忽略width参数。- 重写:
-
computePrefHeight
在Region
- 参数
-
width
- 如果首选高度取决于应该使用的宽度 - 结果
- 该区域计算的优选高度
-
getBaselineOffset
public double getBaselineOffset()
基于第一个受管理的子节点计算基线偏移量。 如果没有这样的孩子,返回Node.getBaselineOffset()
。- 重写:
-
getBaselineOffset
在Parent
- 结果
- 基线偏移
-
layoutChildren
protected void layoutChildren()
在布局传递期间调用这个Parent
的孩子。 默认情况下,它只会将受管理的可调整大小的内容的大小设置为其首选大小,并且不会执行任何节点定位。子类应该根据需要重写此函数以布局内容。
- 重写:
-
layoutChildren
Parent
-
createDefaultSkin
protected Skin<?> createDefaultSkin()
为此控件创建一个新的默认皮肤实例。 如果没有通过CSS-fx-skin
提供皮肤或者在具有setSkin(...)
的子类中显式设置,则调用此控件创建皮肤。- 结果
- 此控件的默认皮肤的新实例。 如果为null,则控件将没有皮肤,除非由css提供。
- 从以下版本开始:
- JavaFX 8.0
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- 结果
- 与此类相关联的CssMetaData可能包括其类的CssMetaData。
- 从以下版本开始:
- JavaFX 8.0
-
getCssMetaData
public final List<CssMetaData<? extends Styleable,?>> getCssMetaData()
此方法返回List
包含所有CssMetaData
两个这种控制(从返回getControlCssMetaData()
及其Skin
,假设skin property
为SkinBase
。因此,希望提供自定义CssMetaData的开发人员被鼓励覆盖
getControlCssMetaData()
或SkinBase.getCssMetaData()
,具体取决于CssMetaData所在的位置。- Specified by:
-
getCssMetaData
在接口Styleable
- 重写:
-
getCssMetaData
在Region
- 结果
- 与该节点相关联的CssMetaData,其可以包括其超类的CssMetaData。
- 从以下版本开始:
- JavaFX 8.0
-
getControlCssMetaData
protected List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- 结果
- 不可修改的控件列表css样式属性
- 从以下版本开始:
- JavaFX 8.0
-
getInitialFocusTraversable
protected Boolean getInitialFocusTraversable()
返回此控件的初始焦点遍历状态,供JavaFX CSS引擎正确设置其初始值。 默认情况下,所有UI控件都是可遍历的,所以在Control中覆盖此方法,以将初始可遍历状态设置为true。- 重写:
-
getInitialFocusTraversable
在Node
- 结果
- 该控件的初始聚焦可移动状态
- 从以下版本开始:
- 9
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
该方法由辅助技术调用以请求属性的值。子类通常覆盖此方法来实现特定角色所需的属性。
如果未处理特定属性,则必须调用超类实现。- 重写:
-
queryAccessibleAttribute
在Parent
- 参数
-
attribute
- 请求的属性 -
parameters
- 可选参数列表 - 结果
- 请求的属性的值
- 另请参见:
-
AccessibleAttribute
-
executeAccessibleAction
public void executeAccessibleAction(AccessibleAction action, Object... parameters)
该方法由辅助技术调用,请求执行由参数指示的动作。此方法通常被子类覆盖,以实现特定角色所需的操作。
如果未处理特定操作,则必须调用超类实现。- 重写:
-
executeAccessibleAction
在Node
- 参数
-
action
- 执行的动作 -
parameters
- 可选参数列表 - 另请参见:
-
AccessibleAction
-
-