Класс StackPane
- Все реализованные интерфейсы:
-
Styleable,EventTarget
- Прямые известные подклассы:
TableHeaderRow
public class StackPane
extends Pane Порядок z-порядка потомков определяется порядком списка потомков, при этом первый потомок (с индексом 0) находится внизу, а последний – сверху. Если установлены отступ и/или отступы, потомки будут расположены внутри этих отступов.
Stackpane попытается переразмерять каждый потомок так, чтобы заполнить область содержимого. Если потомок не может быть изменен в размерах, чтобы заполнить stackpane (либо потому, что он не может быть изменен в размерах, либо из-за максимального размера), то он будет выровнен в области с помощью свойства выравнивания, которое по умолчанию равно Pos.CENTER.
Пример StackPane:
StackPane stack = new StackPane();
stack.getChildren().addAll(new Rectangle(100,100,Color.BLUE), new Label("Go!"));
StackPane выстраивает каждый управляемый потомок независимо от значения свойства visible потомка; неуправляемые потомки игнорируются.
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
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
ObjectProperty<Pos> | alignment | Выравнивание дочерних элементов по ширине и высоте стека. |
Свойства, объявленные в классе 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, 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
Краткое описание конструкторов
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ObjectProperty<Pos> | alignmentProperty() | Выравнивание дочерних элементов по ширине и высоте стека. |
static void | clearConstraints(Node child) | Удаляет все ограничения стека для дочернего узла. |
Pos | getAlignment() | Получает значение свойства выравнивания. |
static Pos | getAlignment(Node child) | Возвращает ограничение выравнивания дочернего элемента, если оно задано. |
static List<CssMetaData<? extends Styleable,?>> | getClassCssMetaData() | |
Orientation | getContentBias() | Возвращает ориентацию смещения изменения размера узла для целей макета. |
List<CssMetaData<? extends Styleable,?>> | getCssMetaData() | Этот метод должен делегировать Node.getClassCssMetaData(), чтобы получить доступ к CssMetaData узла без рефлексии. |
static Insets | getMargin(Node child) | Возвращает ограничения отступа дочернего элемента, если они заданы. |
void | setAlignment(Pos value) | Устанавливает значение свойства выравнивания. |
static void | setAlignment(Node child,
Pos value) | Устанавливает выравнивание дочернего элемента, когда он находится в стеке. |
static void | setMargin(Node child,
Insets value) | Устанавливает отступ дочернего элемента, когда он находится в стеке. |
Методы, объявленные в классе 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, 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, 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
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode, getStyleClass
Подробности свойства
alignment
public final ObjectProperty<Pos> alignmentProperty
- См. также:
-
getAlignment(),setAlignment(Pos)
Подробности конструктора
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()
- См. также:
-
getAlignment(),setAlignment(Pos)
setAlignment
public final void setAlignment(Pos value)
- Описание свойства:
- По умолчанию выравнивание дочерних элементов по ширине и высоте в области StackPane. Это может быть переопределено для отдельных дочерних элементов установкой ограничения выравнивания дочернего элемента.
getAlignment
public final Pos getAlignment()
- Описание свойства:
- По умолчанию выравнивание дочерних элементов по ширине и высоте в области StackPane. Это может быть переопределено для отдельных дочерних элементов установкой ограничения выравнивания дочернего элемента.
getContentBias
public Orientation getContentBias()
NodeПодклассы, которые масштабируются, должны переопределить этот метод, чтобы вернуть соответствующее значение.
- Переопределяет:
-
getContentBiasв классеNode - Возвращает:
- первое ненулевое смещение contentBias управляемых дочерних элементов или null, если управляемые дочерние элементы не имеют смещения content bias.
- См. также:
-
Node.isResizable(),Node.minWidth(double),Node.minHeight(double),Node.prefWidth(double),Node.prefHeight(double),Node.maxWidth(double),Node.maxHeight(double)
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Возвращает:
- CssMetaData, связанная с этим классом, которая может включать CssMetaData его суперклассов.
- С:
- JavaFX 8.0
getCssMetaData
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
Node.getClassCssMetaData(), чтобы доступ к CssMetaData узла Node был возможен без необходимости в рефлексии.- Определено в:
-
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.