Class Parent
- All Implemented Interfaces:
-
Styleable,EventTarget
public abstract non-sealed class Parent extends Node
This class handles all hierarchical scene graph operations, including adding/removing child nodes, marking branches dirty for layout and rendering, picking, bounds calculations, and executing the layout pass on each pulse.
There are two direct concrete Parent subclasses
- Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final ReadOnlyBooleanProperty |
needsLayout |
Indicates that this Node and its subnodes requires a layout pass on the next pulse. |
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, focusVisible, focusWithin, 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.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Constructor Summary
| Modifier | Constructor | Description |
|---|---|---|
protected |
Constructs a new Parent. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
protected double |
computeMinHeight |
Calculates the min height of this Parent. |
protected double |
computeMinWidth |
Calculates the minimum width of this Parent. |
protected double |
computePrefHeight |
Calculates the preferred height of this Parent. |
protected double |
computePrefWidth |
Calculates the preferred width of this Parent. |
double |
getBaselineOffset() |
Calculates the baseline offset based on the first managed child. |
protected ObservableList |
getChildren() |
Gets the list of children of this Parent. |
ObservableList |
getChildrenUnmodifiable() |
Gets the list of children of this Parent as a read-only list. |
protected <E extends Node> |
getManagedChildren() |
Gets the list of all managed children of this Parent. |
final ObservableList |
getStylesheets() |
Gets an observable list of string URLs linking to the stylesheets to use with this Parent's contents. |
final boolean |
isNeedsLayout() |
Gets the value of the needsLayout property. |
final void |
layout() |
Executes a top-down layout pass on the scene graph under this parent. |
protected void |
layoutChildren() |
Invoked during the layout pass to layout the children in this Parent. |
final ReadOnlyBooleanProperty |
needsLayoutProperty() |
Indicates that this Node and its subnodes requires a layout pass on the next pulse. |
void |
requestLayout() |
Requests a layout pass to be performed before the next scene is rendered. |
protected final void |
requestParentLayout() |
Requests a layout pass of the parent to be performed before the next scene is rendered. |
protected final void |
setNeedsLayout |
Sets the value of the needsLayout property. |
protected void |
updateBounds() |
Updates the bounds of this Parent and its children. |
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, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, 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, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, 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, maxHeight, maxWidth, minHeight, minWidth, 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, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, resize, 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
Property Details
needsLayout
public final ReadOnlyBooleanProperty needsLayoutProperty
- See Also:
Constructor Details
Parent
protected Parent()
Parent.Method Details
getChildren
protected ObservableList<Node> getChildren()
Parent. See the class documentation for Node for scene graph structure restrictions on setting a Parent's children list. If these restrictions are violated by a change to the list of children, the change is ignored and the previous value of the children list is restored. An IllegalArgumentException is thrown in this case.
If this Parent node is attached to a Scene attached to a Window, that is, showing (Window.isShowing()), then its list of children must only be modified on the JavaFX Application Thread. An IllegalStateException is thrown if this restriction is violated.
Note to subclasses: if you override this method, you must return from your implementation the result of calling this super method. The actual list instance returned from any getChildren() implementation must be the list owned and managed by this Parent. The only typical purpose for overriding this method is to promote the method to be public.
- Returns:
- the list of children of this
Parent.
getChildrenUnmodifiable
public ObservableList<Node> getChildrenUnmodifiable()
Parent as a read-only list.- Returns:
- read-only access to this parent's children ObservableList
getManagedChildren
protected <E extends Node> List<E> getManagedChildren()
Parent.- Type Parameters:
-
E- the type of the children nodes - Returns:
- list of all managed children in this parent
setNeedsLayout
protected final void setNeedsLayout(boolean value)
needsLayout property.- Property description:
- Indicates that this Node and its subnodes requires a layout pass on the next pulse.
- Parameters:
-
value- the value for theneedsLayoutproperty - See Also:
isNeedsLayout
public final boolean isNeedsLayout()
needsLayout property.- Property description:
- Indicates that this Node and its subnodes requires a layout pass on the next pulse.
- Returns:
- the value of the
needsLayoutproperty - See Also:
needsLayoutProperty
public final ReadOnlyBooleanProperty needsLayoutProperty()
- Returns:
- the
needsLayoutproperty - See Also:
requestLayout
public void requestLayout()
If this parent is either a layout root or unmanaged, then it will be added directly to the scene's dirty layout list, otherwise requestParentLayout will be invoked.
- Since:
- JavaFX 8.0
requestParentLayout
protected final void requestParentLayout()
This may be used when the current parent have changed it's min/max/preferred width/height, but doesn't know yet if the change will lead to it's actual size change. This will be determined when it's parent recomputes the layout with the new hints.
computePrefWidth
protected double computePrefWidth(double height)
Parent. The default implementation calculates this width as the width of the area occupied by its managed children when they are positioned at their current positions at their preferred widths.- Parameters:
-
height- the height that should be used if preferred width depends on it - Returns:
- the calculated preferred width
computePrefHeight
protected double computePrefHeight(double width)
Parent. The default implementation calculates this height as the height of the area occupied by its managed children when they are positioned at their current positions at their preferred heights.- Parameters:
-
width- the width that should be used if preferred height depends on it - Returns:
- the calculated preferred height
computeMinWidth
protected double computeMinWidth(double height)
Parent. The default implementation simply returns the pref width.- Parameters:
-
height- the height that should be used if min width depends on it - Returns:
- the calculated min width
- Since:
- JavaFX 2.1
computeMinHeight
protected double computeMinHeight(double width)
Parent. The default implementation simply returns the pref height;- Parameters:
-
width- the width that should be used if min height depends on it - Returns:
- the calculated min height
- Since:
- JavaFX 2.1
getBaselineOffset
public double getBaselineOffset()
Node.getBaselineOffset().- Overrides:
-
getBaselineOffsetin classNode - Returns:
- baseline offset
layout
public final void layout()
layoutChildren
protected void layoutChildren()
Parent. By default it will only set the size of managed, resizable content to their preferred sizes and does not do any node positioning. Subclasses should override this function to layout content as needed.
getStylesheets
public final ObservableList<String> getStylesheets()
Scene.getStylesheets() for details. For additional information about using CSS with the scene graph, see the CSS Reference Guide.
- Returns:
- the list of stylesheets to use with this Parent
- Since:
- JavaFX 2.1
updateBounds
protected void updateBounds()
Parent and its children.
© 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.