Класс SplitPane
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.SplitPane
Все реализуемые интерфейсы:
@DefaultProperty(value="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.getItems().add(new Button("Button One"));
final StackPane sp2 = new StackPane();
sp2.getItems().add(new Button("Button Two"));
final StackPane sp3 = new StackPane();
sp3.getItems().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, visible
-
-
Краткое описание вложенных классов
Вложенные классы Модификатор и тип Класс и описание static classSplitPane.DividerПредставляет отдельный разделитель в SplitPane.
-
Краткое описание полей
-
Поля, унаследованные от класса javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
Поля, унаследованные от класса javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
Краткое описание конструкторов
Конструкторы Конструктор и описание SplitPane()Создаёт новый SplitPane без содержимого.SplitPane(Node... items)Создаёт новый SplitPane с заданными элементами, установленными в качестве содержимого для разделения между одним или несколькими разделителями.
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляраКонкретные методы Модификатор и тип Метод и описание protected Skin<?>createDefaultSkin()Создаёт новый экземпляр стандартной темы для данного элемента управления.static List<CssMetaData<? extends Styleable,?>>getClassCssMetaData()List<CssMetaData<? extends Styleable,?>>getControlCssMetaData()double[]getDividerPositions()Возвращает массив double, содержащий позиции каждого разделителя.ObservableList<SplitPane.Divider>getDividers()Возвращает неизменяемый список всех разделителей в данном SplitPane.ObservableList<Node>getItems()Возвращает ObservableList, которую можно использовать для изменения содержимого SplitPane.OrientationgetOrientation()Направление для SplitPane.static BooleanisResizableWithParent(Node node)Возвращает true, если узел масштабируется при изменении размера родительского контейнера, в противном случае false.ObjectProperty<Orientation>orientationProperty()Направление для SplitPane.voidsetDividerPosition(int dividerIndex, double position)Устанавливает положение разделителя в указанном индексе разделителя.voidsetDividerPositions(double... positions)Устанавливает положение разделителяvoidsetOrientation(Orientation value)Это свойство контролирует, как SplitPane должен отображаться пользователю.static voidsetResizableWithParent(Node node, Boolean value)Устанавливает, должен ли узел в SplitPane масштабироваться при изменении размера SplitPane.-
Методы, унаследованные от класса javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Методы, унаследованные от класса javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, 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, snapSize, snapSpace, snapToPixelProperty, widthProperty
-
Методы, унаследованные от класса javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, 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, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, 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, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, 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, 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, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
-
-
Подробное описание свойства
-
orientation
public final ObjectProperty<Orientation> orientationProperty
Ориентация SplitPane.
-
-
Подробное описание конструктора
-
SplitPane
public SplitPane()
Создаёт новый SplitPane без содержимого.
-
SplitPane
public SplitPane(Node... items)
Создаёт новый SplitPane с заданными элементами в качестве содержимого, которое будет разделено одной или несколькими разделителями.Параметры:
items- Элементы, которые нужно разместить внутри SplitPane.С:
JavaFX 8u40
-
-
Подробное описание метода
-
setResizableWithParent
public static void setResizableWithParent(Node node, Boolean value)Устанавливает, может ли узел в SplitPane изменять размер при изменении размера SplitPane. По умолчанию все узлы могут изменять размер. Установка значения в false предотвратит изменение размера узла.Параметры:
node- Узел в SplitPane.С:
JavaFX 2.1
-
isResizableWithParent
public static Boolean isResizableWithParent(Node node)
Возвращает true, если узел может изменять размер при изменении размера родительского контейнера, и false в противном случае.Значение по умолчанию:
true
Параметры:
node- Узел в SplitPane.Возвращает:
true, если узел может изменять размер, и false в противном случае.
С:
JavaFX 2.1
-
setOrientation
public final void setOrientation(Orientation value)
Это свойство определяет, как SplitPane должен отображаться пользователю.
Orientation.HORIZONTALприведет к размещению двух (или более) узлов рядом по горизонтали, аOrientation.VERTICAL— к размещению узлов стопкой по вертикали.
-
getOrientation
public final Orientation getOrientation()
Ориентация SplitPane.Возвращает:
Ориентация SplitPane.
-
orientationProperty
public final ObjectProperty<Orientation> orientationProperty()
Ориентация SplitPane.
-
getItems
public ObservableList<Node> getItems()
Возвращает ObservableList, которую можно использовать для изменения содержимого SplitPane. Порядок расположения узлов в этом списке будет соответствовать порядку в SplitPane.Возвращает:
список элементов в данном SplitPane.
-
getDividers
public ObservableList<SplitPane.Divider> getDividers()
Возвращает неизменяемый список всех разделителей в этом SplitPane.Возвращает:
список разделителей.
-
setDividerPosition
public void setDividerPosition(int dividerIndex, double position)Устанавливает положение разделителя по указанному индексу разделителя.Параметры:
dividerIndex- Индекс разделителя.
-
setDividerPositions
public void setDividerPositions(double... positions)
Устанавливает положение разделителяПараметры:
positions- Положение разделителя, значение между 0,0 и 1,0 (включительно).
-
getDividerPositions
public double[] getDividerPositions()
Возвращает массив double, содержащий положение каждого разделителя.Возвращает:
массив double, содержащий положение каждого разделителя.
-
createDefaultSkin
protected Skin<?> createDefaultSkin()
Создаёт новый экземпляр стандартной темы для данного элемента управления. Вызывается для создания темы для элемента управления, если тема не задана через CSS-fx-skinили явно не задана в подклассе с помощьюsetSkin(...).Переопределяет:
createDefaultSkinв классеControlВозвращает:
новый экземпляр стандартной темы для данного элемента управления. Если null, то элемент управления не будет иметь темы, если только она не задана через CSS.
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Возвращает:
CssMetaData, связанная с этим классом, которая может включать CssMetaData его родительских классов.
С:
JavaFX 8.0
-
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
Переопределяет:
getControlCssMetaDataв классеControlВозвращает:
неизменяемый список стилизуемых свойств элемента управления CSS.
С:
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.