- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.SplitPane
-
- All Implemented Interfaces:
-
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的大小将其pref尺寸和分频器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
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<Orientation>
orientation
SplitPane的方向。-
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
-
Properties inherited from class 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
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
SplitPane.Divider
在SplitPane中代表一个分隔符。
-
Field Summary
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected Skin<?>
createDefaultSkin()
为此控件创建一个新的默认皮肤实例。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)
如果父容器调整大小为false时,如果节点可调整大小,则返回true。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中的节点设置为可调整大小。-
Methods inherited from class 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
-
Methods inherited from class 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, 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, 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, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
orientation
public final ObjectProperty<Orientation> orientationProperty
SplitPane的方向。- 结果
- SplitPane的orientation属性
-
-
构造方法详细信息
-
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中的一个节点。 -
value
- 如果节点可调整大小,则为true,如果不可调整大小则为false。 - 从以下版本开始:
- JavaFX 2.1
-
isResizableWithParent
public static Boolean isResizableWithParent(Node node)
如果父容器调整大小为false时,如果节点可调整大小,则返回true。- Default value:
- 真正
- 参数
-
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的方向。- 结果
- SplitPane的方向。
-
orientationProperty
public final ObjectProperty<Orientation> orientationProperty()
SplitPane的方向。- 结果
- SplitPane的orientation属性
-
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
- 分频器的索引。 -
position
- 分频器位置,介于0.0和1.0之间(含)。
-
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
-
getInitialFocusTraversable
protected Boolean getInitialFocusTraversable()
返回此控件的初始焦点遍历状态,供JavaFX CSS引擎正确设置其初始值。 该方法被覆盖,因为默认情况下UI控件将focus遍历设置为true,但这不适用于此控件。- 重写:
-
getInitialFocusTraversable
在Control
- 结果
- 该控件的初始聚焦可移动状态
- 从以下版本开始:
- 9
-
-