Класс SplitPane
- Все реализованные интерфейсы:
-
Styleable,EventTarget,Skinnable
@DefaultProperty("items")
public class SplitPane
extends Control Контрол, состоящий из двух или более частей, разделенных разделителями, которые пользователь может перетаскивать, чтобы увеличить пространство одной из частей, в результате чего другая часть уменьшится на равную величину.
Nodes могут быть расположены горизонтально друг рядом с другом или вертикально друг под другом. Это можно контролировать, установив orientationProperty().
Разделители в SplitPane ведут себя следующим образом
- Разделители не могут перекрывать друг друга
- Разделители не могут перекрывать узел.
- Разделители, перемещающиеся влево/вверх, остановятся, когда будет достигнута минимальная размерность узла.
- Разделители, перемещающиеся вправо/вниз, остановятся, когда будет достигнута максимальная размерность узла.
Узлы необходимо разместить внутри контейнера макета, прежде чем добавлять их в SplitPane. Если узел не находится внутри контейнера макета, максимальное и минимальное положение разделителя будет соответствовать максимальному и минимальному размеру содержимого.
Положение разделителя находится в диапазоне от 0 до 1.0 (включительно). Положение 0 поместит разделитель в крайнюю левую/верхнюю точку SplitPane плюс минимальный размер узла. Положение 1.0 поместит разделитель в крайнюю правую/нижнюю точку SplitPane минус минимальный размер узла. Положение разделителя 0.5 поместит его по центру SplitPane. Установка позиции разделителя больше максимального размера узла приведет к тому, что разделитель будет установлен в максимальное положение размера узла. Установка позиции разделителя меньше минимального размера узла приведет к тому, что разделитель будет установлен в минимальное положение размера узла. Следовательно, значение, установленное в setDividerPosition(int, double) и setDividerPositions(double...), может не совпадать со значением, возвращаемым getDividerPositions().
Если в SplitPane имеется более двух узлов и позиции разделителей заданы таким образом, что разделители не могут поместиться в узлы, разделители будут автоматически скорректированы SplitPane.
Например, у нас есть три узла с размерами и позициями разделителей:
Node 1: min 25 max 100 Node 2: min 100 max 200 Node 3: min 25 max 50 divider 1: 0.40 divider 2: 0.45
Результат: размер узла 1 будет равен его предпочтительному размеру, положение разделителя 1 будет 0,40, размер узла 2 будет равен его минимальному размеру, а положение разделителя 2 будет соответствовать минимальному размеру узла 2 плюс позиция разделителя 1, и оставшееся пространство будет предоставлено узлу 3.
SplitPane устанавливает focusTraversable в false.
Пример:
SplitPane sp = new SplitPane();
final StackPane sp1 = new StackPane();
sp1.getChildren().add(new Button("Button One"));
final StackPane sp2 = new StackPane();
sp2.getChildren().add(new Button("Button Two"));
final StackPane sp3 = new StackPane();
sp3.getChildren().add(new Button("Button Three"));
sp.getItems().addAll(sp1, sp2, sp3);
sp.setDividerPositions(0.3f, 0.6f, 0.9f); - С момента:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
ObjectProperty<Orientation> | orientation | Ориентация SplitPane. |
Свойства, объявленные в классе javafx.scene.control.Control
contextMenu, skin, tooltip
Свойства, объявленные в классе 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
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | SplitPane.Divider | Представляет один разделитель в SplitPane. |
Краткое описание полей
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static List<CssMetaData<? extends Styleable,?>> | getClassCssMetaData() | |
List<CssMetaData<? extends Styleable,?>> | getControlCssMetaData() | |
double[] | getDividerPositions() | Возвращает массив double, содержащий положение каждого разделителя. |
ObservableList<SplitPane.Divider> | getDividers() | Возвращает неизменяемый список всех разделителей в этом SplitPane. |
protected Boolean | getInitialFocusTraversable() | Возвращает начальное состояние фокусируемого элемента управления для использования движком JavaFX CSS для правильной установки его начального значения. |
ObservableList<Node> | getItems() | Возвращает ObservableList, который можно использовать для изменения содержимого SplitPane. |
Orientation | getOrientation() | Ориентация SplitPane. |
static Boolean | isResizableWithParent(Node node) | Возвращает true, если узел масштабируется при изменении размера контейнера-родителя, иначе false. |
ObjectProperty<Orientation> | orientationProperty() | Ориентация SplitPane. |
void | setDividerPosition(int dividerIndex,
double position) | Устанавливает положение разделителя в указанном индексе разделителя. |
void | setDividerPositions(double... positions) | Устанавливает положение разделителя |
void | setOrientation(Orientation value) | Это свойство управляет тем, как SplitPane должен отображаться пользователю. |
static void | setResizableWithParent(Node node,
Boolean value) | Устанавливает, должен ли узел в SplitPane масштабироваться или нет при изменении размера SplitPane. |
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getTooltip, isResizable, setContextMenu, setTooltip, skinProperty, tooltipProperty
Методы, объявленные в классе 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
Методы, объявленные в классе javafx.scene.Parent
getBaselineOffset, getChildren, 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, 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
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode, getStyleClass
Подробности свойства
orientation
public final ObjectProperty<Orientation> orientationProperty
- См. также:
-
getOrientation(),setOrientation(Orientation)
Подробности конструктора
SplitPane
public SplitPane()
SplitPane
public SplitPane(Node... items)
- Параметры:
-
items- Элементы, которые нужно разместить внутри SplitPane. - С:
- JavaFX 8u40
Подробности метода
setResizableWithParent
public static void setResizableWithParent(Node node, Boolean value)
- Параметры:
-
node- Узел в SplitPane. -
value- true, если узел масштабируется, или false, если нет. - С:
- JavaFX 2.1
isResizableWithParent
public static Boolean isResizableWithParent(Node node)
- Значение по умолчанию:
- true
- Параметры:
-
node- Узел в SplitPane. - Возвращает:
- true, если узел масштабируется, в противном случае false.
- С:
- JavaFX 2.1
setOrientation
public final void setOrientation(Orientation value)
Это свойство управляет тем, как SplitPane должен отображаться пользователю. Orientation.HORIZONTAL приведет к размещению двух (или более) узлов рядом друг с другом по горизонтали, в то время как Orientation.VERTICAL приведет к расположению узлов друг под другом по вертикали.
- Параметры:
-
value- значение ориентации
getOrientation
public final Orientation getOrientation()
- Возвращает:
- Ориентация для SplitPane.
orientationProperty
public final ObjectProperty<Orientation> orientationProperty()
- См. также:
-
getOrientation(),setOrientation(Orientation)
getItems
public ObservableList<Node> getItems()
- Возвращает:
- список элементов в этом SplitPane.
getDividers
public ObservableList<SplitPane.Divider> getDividers()
- Возвращает:
- список разделителей.
setDividerPosition
public void setDividerPosition(int dividerIndex, double position)
- Параметры:
-
dividerIndex- индекс разделителя. -
position- положение разделителя, в диапазоне от 0.0 до 1.0 (включительно).
setDividerPositions
public void setDividerPositions(double... positions)
- Параметры:
-
positions- положение разделителя, в диапазоне от 0.0 до 1.0 (включительно).
getDividerPositions
public double[] getDividerPositions()
- Возвращает:
- массив double, содержащий положение каждого разделителя.
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- Возвращает:
- CssMetaData, связанный с этим классом, который может включать CssMetaData его суперклассов.
- С:
- JavaFX 8.0
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Переопределяет:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список стилизуемых свойств управления.
- С:
- JavaFX 8.0
getInitialFocusTraversable
protected Boolean getInitialFocusTraversable()
- Переопределяет:
-
getInitialFocusTraversableв классеControl - Возвращает:
- начальное состояние фокусируемости этого элемента управления
- С:
- 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.