Класс StackPane
- Все реализованные интерфейсы:
-
Styleable,EventTarget
- Непосредственные известные подклассы:
TableHeaderRow
public class StackPane extends Pane
Порядок z-индексов потомков определяется порядком в списке потомков: нулевой потомок находится внизу, последний — сверху. Если заданы отступ и/или отступы, потомки будут выстроены внутри этих отступов.
Stackpane попытается изменить размер каждого потомка для заполнения своей области содержимого. Если потомок не смог заполнить Stackpane (потому что он не был изменяемым или его максимальный размер помешал), то он будет выровнен в области с помощью свойства выравнивания, которое по умолчанию равно Pos.CENTER.
Пример StackPane:
StackPane stack = new StackPane();
stack.getChildren().addAll(new Rectangle(100,100,Color.BLUE), new Label("Go!"));
StackPane выстраивает каждый управляемый потомок независимо от значения свойства видимости потомка; неуправляемые потомки игнорируются.
StackPane можно стилизовать с помощью фонов и границ с помощью CSS. Подробности см. в Region.
Диапазон изменения размеров
Родитель Stackpane будет изменять размер Stackpane в пределах диапазона изменения размеров Stackpane во время макета. По умолчанию Stackpane вычисляет этот диапазон на основе своего содержимого, как показано в таблице ниже.
| ширина | высота | |
|---|---|---|
| минимальный | Левые/правые отступы плюс наибольшая из минимальных ширин потомков. | Верхние/нижние отступы плюс наибольшая из минимальных высот потомков. |
| предпочтительный | Левые/правые отступы плюс наибольшая из предпочтительных ширин потомков. | Верхние/нижние отступы плюс наибольшая из предпочтительных высот потомков. |
| максимальный | Double.MAX_VALUE | Double.MAX_VALUE |
Неограниченные максимальная ширина и высота Stackpane — указание родителю на то, что он может быть изменен размером, превышающим его предпочтительный размер, чтобы заполнить предоставленное ему пространство.
StackPane предоставляет свойства для непосредственного задания диапазона размеров. Эти свойства по умолчанию имеют значение USE_COMPUTED_SIZE, однако приложение может установить их в другие значения по мере необходимости:
// ensure stackpane is never resized beyond it's preferred size
stackpane.setMaxSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
Приложения могут восстановить вычисленные значения, установив эти свойства обратно в USE_COMPUTED_SIZE. StackPane по умолчанию не обрезает свое содержимое, поэтому возможно, что границы потомков могут выходить за пределы собственных границ, если минимальный размер потомка препятствует его размещению в пределах Stackpane.
Дополнительные ограничения макета
Приложение может установить ограничения на отдельных потомков для настройки макета StackPane. Для каждого ограничения StackPane предоставляет статический метод для его установки на потомке.
| Ограничение | Тип | Описание |
|---|---|---|
| выравнивание | javafx.geometry.Pos | Выравнивание потомка внутри Stackpane. |
| отступ | javafx.geometry.Insets | Отступ вокруг внешней части потомка. |
Примеры:
// Align the title Label at the bottom-center of the stackpane
Label title = new Label();
StackPane.setAlignment(title, Pos.BOTTOM_CENTER);
stackpane.getChildren.addAll(new ImageView(...), title);
// Create an 8 pixel margin around a listview in the stackpane
ListView list = new ListView();
StackPane.setMargin(list, new Insets(8,8,8,8);
stackpane.getChildren().add(list);
- С тех пор:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
alignment |
По умолчанию выравнивание потомков внутри ширины и высоты Stackpane. |
Свойства, объявленные в классе javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
Свойства, объявленные в классе javafx.scene.Parent
needsLayout
Свойства, объявленные в классе 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
Краткое описание полей
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StackPane() |
Создаёт StackPane макет с выравниванием по умолчанию CENTER. |
StackPane |
Создаёт StackPane макет с выравниванием по умолчанию CENTER. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty |
alignmentProperty() |
По умолчанию выравнивание потомков внутри ширины и высоты Stackpane. |
static void |
clearConstraints |
Удаляет все ограничения Stackpane от узла-потомка. |
final Pos |
getAlignment() |
Получает значение свойства alignment. |
static Pos |
getAlignment |
Возвращает ограничение выравнивания потомка, если оно задано. |
static List |
getClassCssMetaData() |
Получает ассоциированное с этим классом CssMetaData, которое может включать CssMetaData своих суперклассов. |
Orientation |
getContentBias() |
Возвращает ориентацию смещения изменения размера узла для целей макета. |
List |
getCssMetaData() |
Этот метод должен делегировать Node.getClassCssMetaData(), чтобы получить доступ к CssMetaData узла без необходимости в рефлексии. |
static Insets |
getMargin |
Возвращает ограничения отступа потомка, если они заданы. |
final void |
setAlignment |
Устанавливает значение свойства alignment. |
static void |
setAlignment |
Устанавливает выравнивание для потомка при содержании в Stackpane. |
static void |
setMargin |
Устанавливает отступ для потомка при содержании в Stackpane. |
Методы, объявленные в классе javafx.scene.layout.Pane
getChildren
Методы, объявленные в классе javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, 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
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
Методы, объявленные в классе 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, getClip, 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, 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, requestFocusTraversal, 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
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробное описание свойств
alignment
public final ObjectProperty<Pos> alignmentProperty
- См. также:
Подробное описание конструкторов
StackPane
public StackPane()
StackPane
public StackPane(Node... children)
- Параметры:
-
children- Начальный набор дочерних элементов для этого окна. - С:
- JavaFX 8.0
Подробное описание методов
setAlignment
public static void setAlignment(Node child, Pos value)
- Параметры:
-
child- дочерний узел stackpane -
value- положение выравнивания для дочернего элемента
getAlignment
public static Pos getAlignment(Node child)
- Параметры:
-
child- дочерний узел stackpane - Возвращает:
- положение выравнивания для дочернего элемента или null, если выравнивание не было установлено
setMargin
public static void setMargin(Node child, Insets value)
- Параметры:
-
child- дочерний узел stackpane -
value- отступ вокруг дочернего элемента
getMargin
public static Insets getMargin(Node child)
- Параметры:
-
child- дочерний узел stackpane - Возвращает:
- отступ для дочернего элемента или null, если отступ не был установлен
clearConstraints
public static void clearConstraints(Node child)
- Параметры:
-
child- дочерний узел
alignmentProperty
public final ObjectProperty<Pos> alignmentProperty()
- Возвращает:
- выравнивание дочерних элементов внутри этого stackpane
- См. также:
setAlignment
public final void setAlignment(Pos value)
alignment.- Описание свойства:
- По умолчанию выравнивание дочерних элементов внутри ширины и высоты stackpane. Это может быть переопределено для отдельных дочерних элементов установкой ограничения выравнивания дочернего элемента.
- Параметры:
-
value- значение для свойстваalignment - См. также:
getAlignment
public final Pos getAlignment()
alignment.- Описание свойства:
- По умолчанию выравнивание дочерних элементов внутри ширины и высоты stackpane. Это может быть переопределено для отдельных дочерних элементов установкой ограничения выравнивания дочернего элемента.
- Возвращает:
- значение свойства
alignment - См. также:
getContentBias
public Orientation getContentBias()
NodeПодклассы, изменяющие размер, должны переопределить этот метод для возврата соответствующего значения.
- Переопределяет:
-
getContentBiasв классеNode - Возвращает:
- первое ненулевое contentBias его управляемых дочерних элементов или null, если ни у одного из управляемых дочерних элементов нет смещения content.
- См. также:
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
CssMetaData, связанное с этим классом, которое может включать CssMetaData его суперклассов.- Возвращает:
CssMetaData- С:
- JavaFX 8.0
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Node.getClassCssMetaData(), чтобы доступ к CssMetaData узла можно было получить без необходимости в рефлексии.- Определено в:
-
getCssMetaDataв интерфейсеStyleable - Переопределяет:
-
getCssMetaDataв классеRegion - Возвращает:
- CssMetaData, связанное с этим узлом, которое может включать CssMetaData его суперклассов.
- С:
- JavaFX 8.0
© 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.