Класс 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
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final 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, 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
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
SplitPane.Divider |
Представляет отдельный разделитель в SplitPane. |
Краткое описание полей
Поля, объявленные в классе javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SplitPane() |
Создаёт новый SplitPane без содержимого. |
SplitPane |
Создаёт новый SplitPane с заданными элементами в качестве содержимого для разделения между одним или несколькими разделителями. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static List<CssMetaData<? extends Styleable, |
getClassCssMetaData() |
Получает ассоциированные с этим классом CssMetaData, которые могут включать CssMetaData его суперклассов. |
List<CssMetaData<? extends Styleable, |
getControlCssMetaData() |
Возвращает неизменяемый список стилизуемых свойств управления CSS. |
double[] |
getDividerPositions() |
Возвращает массив double, содержащий положение каждого разделителя. |
ObservableList<SplitPane.Divider> |
getDividers() |
Возвращает неизменяемый список всех разделителей в данном SplitPane. |
protected Boolean |
getInitialFocusTraversable() |
Возвращает начальное состояние focus traversable этого управления, используемое движком JavaFX CSS для правильной установки его начального значения. |
ObservableList<Node> |
getItems() |
Возвращает ObservableList, который можно использовать для изменения содержимого SplitPane. |
final Orientation |
getOrientation() |
Направление для SplitPane. |
static Boolean |
isResizableWithParent |
Возвращает true, если узел масштабируется при изменении размера родительского контейнера, false в противном случае. |
final ObjectProperty<Orientation> |
orientationProperty() |
Направление для SplitPane. |
void |
setDividerPosition |
Устанавливает положение разделителя в указанном индексе разделителя. |
void |
setDividerPositions |
Устанавливает положение разделителя |
final void |
setOrientation |
Это свойство управляет тем, как SplitPane должен отображаться пользователю. |
static void |
setResizableWithParent |
Устанавливает, должен ли узел в SplitPane масштабироваться при изменении размера SplitPane. |
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, 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, focusVisibleProperty, focusWithinProperty, 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, 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, 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
Подробное описание свойств
orientation
public final ObjectProperty<Orientation> orientationProperty
Подробное описание конструкторов
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()
- Возвращает:
- свойство ориентации для SplitPane
- См. также:
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 его суперклассов.- Возвращает:
CssMetaData- С тех пор:
- JavaFX 8.0
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- Переопределяет:
-
getControlCssMetaDataв классеControl - Возвращает:
- неизменяемый список CSS-стилизуемых свойств элемента управления
- С тех пор:
- 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.