@DefaultProperty(value="children") public class Group extends Parent
Group
node contains an ObservableList of children that
are rendered in order whenever this node is rendered.
A Group
will take on the collective bounds of its children and is
not directly resizable.
Any transform, effect, or state applied to a Group
will be applied
to all children of that group. Such transforms and effects will NOT be included
in this Group's layout bounds, however if transforms and effects are set
directly on children of this Group, those will be included in this Group's layout bounds.
By default, a Group
will "auto-size" its managed resizable
children to their preferred sizes during the layout pass to ensure that Regions
and Controls are sized properly as their state changes. If an application
needs to disable this auto-sizing behavior, then it should set autoSizeChildren
to false
and understand that if the preferred size of the children
change, they will not automatically resize (so buyer beware!).
Group Example:
import javafx.scene.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import java.lang.Math; Group g = new Group(); for (int i = 0; i < 5; i++) { Rectangle r = new Rectangle(); r.setY(i * 20); r.setWidth(100); r.setHeight(10); r.setFill(Color.RED); g.getChildren().add(r); }
Type | Property and Description |
---|---|
javafx.beans.property.BooleanProperty |
autoSizeChildren
Controls whether or not this
Group will automatically resize any
managed resizable children to their preferred sizes
during the layout pass. |
needsLayout
areaInScreen, 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, visible
Constructor and Description |
---|
Group()
Constructs a group.
|
Group(java.util.Collection<Node> children)
Constructs a group consisting of the given children.
|
Group(Node... children)
Constructs a group consisting of children.
|
Modifier and Type | Method and Description |
---|---|
javafx.beans.property.BooleanProperty |
autoSizeChildrenProperty()
Controls whether or not this
Group will automatically resize any
managed resizable children to their preferred sizes
during the layout pass. |
javafx.collections.ObservableList<Node> |
getChildren()
Gets the list of children of this
Group . |
boolean |
isAutoSizeChildren()
Gets the value of the property autoSizeChildren.
|
protected void |
layoutChildren()
Group implements layoutChildren such that each child is resized to its preferred
size, if the child is resizable.
|
double |
prefHeight(double width)
Group defines the preferred height as simply being the height of its layout bounds, which
in turn is simply the sum of the positions & heights of all of its children.
|
double |
prefWidth(double height)
Group defines the preferred width as simply being the width of its layout bounds, which
in turn is simply the sum of the positions & widths of all of its children.
|
void |
setAutoSizeChildren(boolean value)
Sets the value of the property autoSizeChildren.
|
computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, minHeight, minWidth, needsLayoutProperty, requestLayout, setNeedsLayout
addEventFilter, addEventHandler, areaInScreenProperty, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAreaInScreen, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, 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, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getUserData, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isAutomaticallyMirrored, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, maxHeight, maxWidth, mouseTransparentProperty, nodeOrientationProperty, 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, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, visibleProperty
public final javafx.beans.property.BooleanProperty autoSizeChildrenProperty
Group
will automatically resize any
managed resizable children to their preferred sizes
during the layout pass. If set to false
, then the application is
responsible for setting the size of this Group's resizable children, otherwise
such nodes may end up with a zero width/height and will not be visible.
This variable has no effect on content nodes which are not resizable (Shape, Text, etc).isAutoSizeChildren()
,
setAutoSizeChildren(boolean)
public Group()
public Group(Node... children)
children
- children.public Group(java.util.Collection<Node> children)
children
- children of the groupjava.lang.NullPointerException
- if the specified collection is nullpublic final void setAutoSizeChildren(boolean value)
Group
will automatically resize any
managed resizable children to their preferred sizes
during the layout pass. If set to false
, then the application is
responsible for setting the size of this Group's resizable children, otherwise
such nodes may end up with a zero width/height and will not be visible.
This variable has no effect on content nodes which are not resizable (Shape, Text, etc).public final boolean isAutoSizeChildren()
Group
will automatically resize any
managed resizable children to their preferred sizes
during the layout pass. If set to false
, then the application is
responsible for setting the size of this Group's resizable children, otherwise
such nodes may end up with a zero width/height and will not be visible.
This variable has no effect on content nodes which are not resizable (Shape, Text, etc).public final javafx.beans.property.BooleanProperty autoSizeChildrenProperty()
Group
will automatically resize any
managed resizable children to their preferred sizes
during the layout pass. If set to false
, then the application is
responsible for setting the size of this Group's resizable children, otherwise
such nodes may end up with a zero width/height and will not be visible.
This variable has no effect on content nodes which are not resizable (Shape, Text, etc).isAutoSizeChildren()
,
setAutoSizeChildren(boolean)
public javafx.collections.ObservableList<Node> getChildren()
Group
.getChildren
in class Parent
Group
.public double prefWidth(double height)
prefWidth
in class Parent
height
- This parameter is ignored by GroupNode.isResizable()
,
Node.getContentBias()
,
Node.autosize()
public double prefHeight(double width)
prefHeight
in class Parent
width
- This parameter is ignored by GroupNode.getContentBias()
,
Node.autosize()
protected void layoutChildren()
autoSizeChildren
is false, then Group does nothing in this method.layoutChildren
in class Parent
Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms.