Class Control
- 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
| Type | Property | Description |
|---|---|---|
ObjectProperty<ContextMenu> | contextMenu | The ContextMenu to show for this control. |
ObjectProperty<Skin<?>> | skin | Skin is responsible for rendering this Control. |
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
| 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 a List containing all CssMetaData for both this Control (returned from getControlCssMetaData() and its Skin, assuming the skin property is a SkinBase. |
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() | Returns true 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 this Control. |
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
public final ObjectProperty<Skin<?>> skinProperty
Control. From the perspective of the Control, the Skin is a black box. It listens and responds to changes in state in a Control. There is a one-to-one relationship between a Control and its Skin. Every Skin maintains a back reference to the Control via the Skin.getSkinnable() method.
A skin may be null.
- Specified by:
-
skinPropertyin interfaceSkinnable - See Also:
-
Skinnable.getSkin(),Skinnable.setSkin(Skin)
tooltip
public final ObjectProperty<Tooltip> tooltipProperty
- See Also:
-
getTooltip(),setTooltip(Tooltip)
contextMenu
public final ObjectProperty<ContextMenu> contextMenuProperty
- See Also:
-
getContextMenu(),setContextMenu(ContextMenu)
Constructor Details
Control
protected Control()
Method Details
skinProperty
public final ObjectProperty<Skin<?>> skinProperty()
Control. From the perspective of the Control, the Skin is a black box. It listens and responds to changes in state in a Control. There is a one-to-one relationship between a Control and its Skin. Every Skin maintains a back reference to the Control via the Skin.getSkinnable() method.
A skin may be null.
- Specified by:
-
skinPropertyin interfaceSkinnable - See Also:
-
Skinnable.getSkin(),Skinnable.setSkin(Skin)
tooltipProperty
public final ObjectProperty<Tooltip> tooltipProperty()
- See Also:
-
getTooltip(),setTooltip(Tooltip)
setTooltip
public final void setTooltip(Tooltip value)
- Property description:
- The ToolTip for this control.
getTooltip
public final Tooltip getTooltip()
- Property description:
- The ToolTip for this control.
contextMenuProperty
public final ObjectProperty<ContextMenu> contextMenuProperty()
- See Also:
-
getContextMenu(),setContextMenu(ContextMenu)
setContextMenu
public final void setContextMenu(ContextMenu value)
- Property description:
- The ContextMenu to show for this control.
getContextMenu
public final ContextMenu getContextMenu()
- Property description:
- The ContextMenu to show for this control.
isResizable
public boolean isResizable()
true since all Controls are resizable.- Overrides:
-
isResizablein 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)
Node.minWidth(double) method of the Skin. If the Skin is null, the returned value is 0.- Overrides:
-
computeMinWidthin 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)
Node.minHeight(double) method of the Skin. If the Skin is null, the returned value is 0.- Overrides:
-
computeMinHeightin 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)
Node.maxWidth(double) method of the Skin. If the Skin is null, the returned value is 0.- Overrides:
-
computeMaxWidthin 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)
Node.maxHeight(double) method of the Skin. If the Skin is null, the returned value is 0.- Overrides:
-
computeMaxHeightin 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
protected Skin<?> createDefaultSkin()
-fx-skin or set explicitly in a sub-class with setSkin(...).- 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
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Returns:
- The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
- Since:
- JavaFX 8.0
getCssMetaData
public final List<CssMetaData<? extends Styleable,?>> getCssMetaData()
List containing all CssMetaData for both this Control (returned from getControlCssMetaData() and its Skin, assuming the skin property is a SkinBase. Developers who wish to provide custom CssMetaData are therefore encouraged to override getControlCssMetaData() or SkinBase.getCssMetaData(), depending on where the CssMetaData resides.
- Specified by:
-
getCssMetaDatain interfaceStyleable - Overrides:
-
getCssMetaDatain classRegion - Returns:
- The CssMetaData associated with this node, which may include the CssMetaData of its superclasses.
- Since:
- JavaFX 8.0
getControlCssMetaData
protected List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Returns:
- unmodifiable list of the controls css styleable properties
- Since:
- JavaFX 8.0
getInitialFocusTraversable
protected Boolean getInitialFocusTraversable()
- Overrides:
-
getInitialFocusTraversablein classNode - Returns:
- the initial focus traversable state of this control
- Since:
- 9
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.