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 inherited from class javafx.scene.control.Control

  `contextMenu, skin, tooltip`

  ### 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`

  ### Properties inherited from class javafx.scene.Parent

  `needsLayout`

  ### 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`

- ## Field Summary

  ### Fields inherited from class javafx.scene.layout.Region

  `USE_COMPUTED_SIZE, USE_PREF_SIZE`

  ### Fields inherited from 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

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected Skin<?>` | `createDefaultSkin()` | Create a new instance of the default skin for this control.
  `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 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.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 class javafx.scene.Parent

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

  ### 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 interface javafx.css.Styleable

  `getStyleableNode`

- ## Property Details

  - ### 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 Details

  - ### 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 Details

  - ### 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)`

  - ### createDefaultSkin

    protected Skin<?> createDefaultSkin()
    Create a new instance of the default skin for this control. This is called to create a skin for the control if no skin is provided via CSS `-fx-skin` or set explicitly in a sub-class with `setSkin(...)`.
    Overrides:
      `createDefaultSkin` in class `Control`
    Returns:
      new instance of default skin for this control. If null then the control will have no skin unless one is provided by css.

  - ### 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