Separator (JavaFX 17)

Module javafx.controls
Package javafx.scene.control

## Class Separator

- java.lang.Object
- - javafx.scene.Node
  - - javafx.scene.Parent
    - - javafx.scene.layout.Region
      - - javafx.scene.control.Control
        - - javafx.scene.control.Separator

- All Implemented Interfaces:
    `Styleable`, `EventTarget`, `Skinnable`

      public class Separator
      extends Control

  A horizontal or vertical separator line. The visual appearance of this separator can be controlled via CSS. A horizontal separator occupies the full horizontal space allocated to it (less padding), and a vertical separator occupies the full vertical space allocated to it (less padding). The `halignment` and `valignment` properties determine how the separator is positioned in the other dimension, for example, how a horizontal separator is positioned vertically within its allocated space.

  The separator is horizontal (i.e. `isVertical() == false`) by default.

  The style-class for this control is "separator".

  The separator provides two pseudo-classes "horizontal" and "vertical" which are mutually exclusive. The "horizontal" pseudo-class applies if the separator is horizontal, and the "vertical" pseudo-class applies if the separator is vertical.

  Separator sets focusTraversable to false.

  Example:

       Button b0 = new Button("Button 0");
       Button b1 = new Button("Button 1");
       Button b2 = new Button("Button 2");
       Button b3 = new Button("Button 3");
       Separator separator = new Separator(Orientation.HORIZONTAL);
       VBox vBox = new VBox(b0, b1, separator, b2, b3);

  Since:
    JavaFX 2.0

- - ### Property Summary

    Properties
    Type | Property | Description
    --- | --- | ---
    `ObjectProperty<HPos>` | `halignment` | For vertical separators, specifies the horizontal position of the separator line within the separator control's space.
    `ObjectProperty<Orientation>` | `orientation` | The orientation of the `Separator` can either be horizontal or vertical.
    `ObjectProperty<VPos>` | `valignment` | For horizontal separators, specifies the vertical alignment of the separator line within the separator control's space.

    - ### Properties declared in class javafx.scene.control.Control

      `contextMenu, skin, tooltip`

    - ### Properties declared in class javafx.scene.layout.Region

      `background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width`

    - ### Properties declared in class javafx.scene.Parent

      `needsLayout`

    - ### Properties declared in 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`

  - ### Field Summary

    - ### Fields declared in class javafx.scene.layout.Region

      `USE_COMPUTED_SIZE, USE_PREF_SIZE`

    - ### Fields declared in class javafx.scene.Node

      `BASELINE_OFFSET_SAME_AS_HEIGHT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Separator()` | Creates a new horizontal separator with halignment and valignment set to their respective CENTER values.
    `Separator​(Orientation orientation)` | Creates a new separator with halignment and valignment set to their respective CENTER values.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static List<CssMetaData<? extends Styleable,​?>>` | `getClassCssMetaData()` |
    `protected List<CssMetaData<? extends Styleable,​?>>` | `getControlCssMetaData()`
    `HPos` | `getHalignment()` | Gets the value of the property halignment.
    `protected Boolean` | `getInitialFocusTraversable()` | Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value.
    `Orientation` | `getOrientation()` | Gets the value of the property orientation.
    `VPos` | `getValignment()` | Gets the value of the property valignment.
    `ObjectProperty<HPos>` | `halignmentProperty()` | For vertical separators, specifies the horizontal position of the separator line within the separator control's space.
    `ObjectProperty<Orientation>` | `orientationProperty()` | The orientation of the `Separator` can either be horizontal or vertical.
    `void` | `setHalignment​(HPos value)` | Sets the value of the property halignment.
    `void` | `setOrientation​(Orientation value)` | Sets the value of the property orientation.
    `void` | `setValignment​(VPos value)` | Sets the value of the property valignment.
    `ObjectProperty<VPos>` | `valignmentProperty()` | For horizontal separators, specifies the vertical alignment of the separator line within the separator control's space.

    - ### Methods declared in class javafx.scene.control.Control

      `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getTooltip, isResizable, setContextMenu, setTooltip, skinProperty, tooltipProperty`

    - ### Methods declared in class 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`

    - ### Methods declared in class javafx.scene.Parent

      `getBaselineOffset, getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, layoutChildren, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds`

    - ### Methods declared in 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, 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`

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods declared in interface javafx.scene.control.Skinnable

      `getSkin, setSkin`

    - ### Methods declared in interface javafx.css.Styleable

      `getStyleableNode, getStyleClass`

- - ### Property Detail

    - #### orientation

          public final ObjectProperty<Orientation> orientationProperty

      The orientation of the `Separator` can either be horizontal or vertical.
      See Also:
        `getOrientation()`, `setOrientation(Orientation)`

    - #### halignment

          public final ObjectProperty<HPos> halignmentProperty

      For vertical separators, specifies the horizontal position of the separator line within the separator control's space. Ignored for horizontal separators.
      See Also:
        `getHalignment()`, `setHalignment(HPos)`

    - #### valignment

          public final ObjectProperty<VPos> valignmentProperty

      For horizontal separators, specifies the vertical alignment of the separator line within the separator control's space. Ignored for vertical separators.
      See Also:
        `getValignment()`, `setValignment(VPos)`

  - ### Constructor Detail

    - #### Separator

          public Separator()

      Creates a new horizontal separator with halignment and valignment set to their respective CENTER values.

    - #### Separator

          public Separator​(Orientation orientation)

      Creates a new separator with halignment and valignment set to their respective CENTER values. The direction of the separator is specified by the vertical property.
      Parameters:
        `orientation` - Specifies whether the Separator instance is initially vertical or horizontal.

  - ### Method Detail

    - #### setOrientation

          public final void setOrientation​(Orientation value)

      Sets the value of the property orientation.
      Property description:
        The orientation of the `Separator` can either be horizontal or vertical.

    - #### getOrientation

          public final Orientation getOrientation()

      Gets the value of the property orientation.
      Property description:
        The orientation of the `Separator` can either be horizontal or vertical.

    - #### orientationProperty

          public final ObjectProperty<Orientation> orientationProperty()

      The orientation of the `Separator` can either be horizontal or vertical.
      See Also:
        `getOrientation()`, `setOrientation(Orientation)`

    - #### setHalignment

          public final void setHalignment​(HPos value)

      Sets the value of the property halignment.
      Property description:
        For vertical separators, specifies the horizontal position of the separator line within the separator control's space. Ignored for horizontal separators.

    - #### getHalignment

          public final HPos getHalignment()

      Gets the value of the property halignment.
      Property description:
        For vertical separators, specifies the horizontal position of the separator line within the separator control's space. Ignored for horizontal separators.

    - #### halignmentProperty

          public final ObjectProperty<HPos> halignmentProperty()

      For vertical separators, specifies the horizontal position of the separator line within the separator control's space. Ignored for horizontal separators.
      See Also:
        `getHalignment()`, `setHalignment(HPos)`

    - #### setValignment

          public final void setValignment​(VPos value)

      Sets the value of the property valignment.
      Property description:
        For horizontal separators, specifies the vertical alignment of the separator line within the separator control's space. Ignored for vertical separators.

    - #### getValignment

          public final VPos getValignment()

      Gets the value of the property valignment.
      Property description:
        For horizontal separators, specifies the vertical alignment of the separator line within the separator control's space. Ignored for vertical separators.

    - #### valignmentProperty

          public final ObjectProperty<VPos> valignmentProperty()

      For horizontal separators, specifies the vertical alignment of the separator line within the separator control's space. Ignored for vertical separators.
      See Also:
        `getValignment()`, `setValignment(VPos)`

    - #### getClassCssMetaData

          public static List<CssMetaData<? extends Styleable,​?>> getClassCssMetaData()

      Returns:
        The CssMetaData associated with this class, which may include the CssMetaData of its superclasses.
      Since:
        JavaFX 8.0

    - #### getControlCssMetaData

          protected List<CssMetaData<? extends Styleable,​?>> getControlCssMetaData()

      Overrides:
        `getControlCssMetaData` in class `Control`
      Returns:
        unmodifiable list of the controls css styleable properties
      Since:
        JavaFX 8.0

    - #### getInitialFocusTraversable

          protected Boolean getInitialFocusTraversable()

      Returns the initial focus traversable state of this control, for use by the JavaFX CSS engine to correctly set its initial value. This method is overridden as by default UI controls have focus traversable set to true, but that is not appropriate for this control.
      Overrides:
        `getInitialFocusTraversable` in class `Control`
      Returns:
        the initial focus traversable state of this control
      Since:
        9