- All Implemented Interfaces:
Styleable
,EventTarget
,Skinnable
- Direct Known Subclasses:
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
Additionally, controls support explicit skinning to make it easy to leverage the functionality of a control while customizing its appearance.
See specific Control subclasses for information on how to use individual types of controls.
Most controls have their focusTraversable property set to true by default, however
read-only controls such as Label
and ProgressIndicator
, and some
controls that are containers ScrollPane
and ToolBar
do not.
Consult individual control documentation for details.
- Since:
- JavaFX 2.0
-
Property Summary
Properties Type Property Description ObjectProperty<ContextMenu>
contextMenu
The ContextMenu to show for this control.ObjectProperty<Skin<?>>
skin
Skin is responsible for rendering thisControl
.ObjectProperty<Tooltip>
tooltip
The ToolTip for this control.Properties declared in class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Properties declared in class javafx.scene.Parent
needsLayout
Properties declared in 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
-
Field Summary
Fields declared in class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Fields declared in class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Constructor Summary
Constructors Modifier Constructor Description protected
Control()
Create a new Control. -
Method Summary
Modifier and Type Method Description protected double
computeMaxHeight(double width)
Computes the maximum allowable height of the Control, based on the provided width.protected double
computeMaxWidth(double height)
Computes the maximum allowable width of the Control, based on the provided height.protected double
computeMinHeight(double width)
Computes the minimum allowable height of the Control, based on the provided width.protected double
computeMinWidth(double height)
Computes the minimum allowable width of the Control, based on the provided height.ObjectProperty<ContextMenu>
contextMenuProperty()
The ContextMenu to show for this control.protected Skin<?>
createDefaultSkin()
Create a new instance of the default skin for this control.static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
ContextMenu
getContextMenu()
Gets the value of the property contextMenu.protected List<CssMetaData<? extends Styleable,?>>
getControlCssMetaData()
List<CssMetaData<? extends Styleable,?>>
getCssMetaData()
This method returns aList
containing allCssMetaData
for both this Control (returned fromgetControlCssMetaData()
and itsSkin
, assuming theskin property
is aSkinBase
.protected Boolean
getInitialFocusTraversable()
Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value.Tooltip
getTooltip()
Gets the value of the property tooltip.boolean
isResizable()
Returnstrue
since all Controls are resizable.void
setContextMenu(ContextMenu value)
Sets the value of the property contextMenu.void
setTooltip(Tooltip value)
Sets the value of the property tooltip.ObjectProperty<Skin<?>>
skinProperty()
Skin is responsible for rendering thisControl
.ObjectProperty<Tooltip>
tooltipProperty()
The ToolTip for this control.Methods declared in class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, 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 declared in class javafx.scene.Parent
getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Methods declared in 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, executeAccessibleAction, 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, 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, lookup, 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, queryAccessibleAttribute, 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 declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getStyleableNode, getStyleClass
-
Property Details
-
skin
Skin is responsible for rendering thisControl
. From the perspective of theControl
, theSkin
is a black box. It listens and responds to changes in state in aControl
.There is a one-to-one relationship between a
Control
and itsSkin
. EverySkin
maintains a back reference to theControl
via theSkin.getSkinnable()
method.A skin may be null.
- Specified by:
skinProperty
in interfaceSkinnable
- See Also:
Skinnable.getSkin()
,Skinnable.setSkin(Skin)
-
tooltip
The ToolTip for this control.- See Also:
getTooltip()
,setTooltip(Tooltip)
-
contextMenu
The ContextMenu to show for this control.- See Also:
getContextMenu()
,setContextMenu(ContextMenu)
-
-
Constructor Details
-
Control
protected Control()Create a new Control.
-
-
Method Details
-
skinProperty
Skin is responsible for rendering thisControl
. From the perspective of theControl
, theSkin
is a black box. It listens and responds to changes in state in aControl
.There is a one-to-one relationship between a
Control
and itsSkin
. EverySkin
maintains a back reference to theControl
via theSkin.getSkinnable()
method.A skin may be null.
- Specified by:
skinProperty
in interfaceSkinnable
- See Also:
Skinnable.getSkin()
,Skinnable.setSkin(Skin)
-
tooltipProperty
The ToolTip for this control.- See Also:
getTooltip()
,setTooltip(Tooltip)
-
setTooltip
Sets the value of the property tooltip.- Property description:
- The ToolTip for this control.
-
getTooltip
Gets the value of the property tooltip.- Property description:
- The ToolTip for this control.
-
contextMenuProperty
The ContextMenu to show for this control.- See Also:
getContextMenu()
,setContextMenu(ContextMenu)
-
setContextMenu
Sets the value of the property contextMenu.- Property description:
- The ContextMenu to show for this control.
-
getContextMenu
Gets the value of the property contextMenu.- Property description:
- The ContextMenu to show for this control.
-
isResizable
public boolean isResizable()Returnstrue
since all Controls are resizable.- Overrides:
isResizable
in classRegion
- Returns:
- whether this node can be resized by its parent during layout
- See Also:
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)Computes the minimum allowable width of the Control, based on the provided height. The minimum width is not calculated within the Control, instead the calculation is delegated to theNode.minWidth(double)
method of theSkin
. If the Skin is null, the returned value is 0.- Overrides:
computeMinWidth
in classRegion
- Parameters:
height
- The height of the Control, in case this value might dictate the minimum width.- Returns:
- A double representing the minimum width of this control.
-
computeMinHeight
protected double computeMinHeight(double width)Computes the minimum allowable height of the Control, based on the provided width. The minimum height is not calculated within the Control, instead the calculation is delegated to theNode.minHeight(double)
method of theSkin
. If the Skin is null, the returned value is 0.- Overrides:
computeMinHeight
in classRegion
- Parameters:
width
- The width of the Control, in case this value might dictate the minimum height.- Returns:
- A double representing the minimum height of this control.
-
computeMaxWidth
protected double computeMaxWidth(double height)Computes the maximum allowable width of the Control, based on the provided height. The maximum width is not calculated within the Control, instead the calculation is delegated to theNode.maxWidth(double)
method of theSkin
. If the Skin is null, the returned value is 0.- Overrides:
computeMaxWidth
in classRegion
- Parameters:
height
- The height of the Control, in case this value might dictate the maximum width.- Returns:
- A double representing the maximum width of this control.
-
computeMaxHeight
protected double computeMaxHeight(double width)Computes the maximum allowable height of the Control, based on the provided width. The maximum height is not calculated within the Control, instead the calculation is delegated to theNode.maxHeight(double)
method of theSkin
. If the Skin is null, the returned value is 0.- Overrides:
computeMaxHeight
in classRegion
- Parameters:
width
- The width of the Control, in case this value might dictate the maximum height.- Returns:
- A double representing the maximum height of this control.
-
createDefaultSkin
Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS-fx-skin
or set explicitly in a sub-class withsetSkin(...)
.- Returns:
- new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.
- Since:
- JavaFX 8.0
-
getClassCssMetaData
- Returns:
- The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
- Since:
- JavaFX 8.0
-
getCssMetaData
This method returns aList
containing allCssMetaData
for both this Control (returned fromgetControlCssMetaData()
and itsSkin
, assuming theskin property
is aSkinBase
.Developers who wish to provide custom CssMetaData are therefore encouraged to override
getControlCssMetaData()
orSkinBase.getCssMetaData()
, depending on where the CssMetaData resides.- Specified by:
getCssMetaData
in interfaceStyleable
- Overrides:
getCssMetaData
in classRegion
- Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
- Since:
- JavaFX 8.0
-
getControlCssMetaData
- Returns:
- unmodifiable list of the controls css styleable properties
- Since:
- JavaFX 8.0
-
getInitialFocusTraversable
Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value. By default all UI controls are focus traversable, so this method is overridden in Control to set the initial traversable state to true.- Overrides:
getInitialFocusTraversable
in classNode
- Returns:
- the initial focus traversable state of this control
- Since:
- 9
-