Module javafx.controls
Package javafx.scene.control

# Class TabPane

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

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

@DefaultProperty("tabs") public class TabPane extends Control
A control that allows switching between a group of `Tabs`. Only one tab is visible at a time. Tabs are added to the TabPane by using the `getTabs()`.

Tabs in a TabPane can be positioned at any of the four sides by specifying the `Side`.

A TabPane has two modes floating or recessed. Applying the styleclass STYLE_CLASS_FLOATING will change the TabPane mode to floating.

The tabs width and height can be set to a specific size by setting the min and max for height and width. TabPane default width will be determined by the largest content width in the TabPane. This is the same for the height. If a different size is desired the width and height of the TabPane can be overridden by setting the min, pref and max size.

When the number of tabs do not fit the TabPane a menu button will appear on the right. The menu button is used to select the tabs that are currently not visible.

Example:

     TabPane tabPane = new TabPane();
     Tab tab = new Tab();
     tab.setText("new tab");
     tab.setContent(new Rectangle(100, 50, Color.LIGHTSTEELBLUE));
     tabPane.getTabs().add(tab);

Since:
  JavaFX 2.0
See Also:
  - `Tab`

- ## Property Summary

  Properties
  Type
  Property
  Description
  `final BooleanProperty`
  `rotateGraphic`
  Specifies whether the graphic inside a `Tab` is rotated or not, such that it is always upright, or rotated in the same way as the `Tab` text is.
  `final ObjectProperty<SingleSelectionModel<Tab>>`
  `selectionModel`
  The selection model used for selecting tabs.
  `final ObjectProperty<Side>`
  `side`
  The position to place the tabs in this `TabPane`.
  `final ObjectProperty<TabPane.TabClosingPolicy>`
  `tabClosingPolicy`
  Specifies how the `TabPane` handles tab closing from an end-user's perspective.
  `final ObjectProperty<TabPane.TabDragPolicy>`
  `tabDragPolicy`
  The drag policy for the tabs.
  `final DoubleProperty`
  `tabMaxHeight`
  The maximum height of a `Tab` in the `TabPane`.
  `final DoubleProperty`
  `tabMaxWidth`
  The maximum width of a `Tab` in the `TabPane`.
  `final DoubleProperty`
  `tabMinHeight`
  The minimum height of a `Tab` in the `TabPane`.
  `final DoubleProperty`
  `tabMinWidth`
  The minimum width of a `Tab` in the `TabPane`.

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

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `TabPane.TabClosingPolicy`
  Specifies how the `TabPane` handles tab closing from an end-user's perspective.
  `static enum`
  `TabPane.TabDragPolicy`
  This enum specifies drag policies for tabs in a TabPane.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `STYLE_CLASS_FLOATING`
  TabPane mode will be changed to floating allowing the TabPane to be placed alongside other control.

  ### 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
  `TabPane()`
  Constructs a new TabPane.
  `TabPane(Tab... tabs)`
  Constructs a new TabPane with the given tabs set to show.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static List<CssMetaData<? extends Styleable,?>>`
  `getClassCssMetaData()`
  Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
  `List<CssMetaData<? extends Styleable,?>>`
  `getControlCssMetaData()`
  Gets the unmodifiable list of the control's CSS-styleable properties.
  `final SingleSelectionModel<Tab>`
  `getSelectionModel()`
  Gets the value of the `selectionModel` property.
  `final Side`
  `getSide()`
  Gets the value of the `side` property.
  `final TabPane.TabClosingPolicy`
  `getTabClosingPolicy()`
  Gets the value of the `tabClosingPolicy` property.
  `final TabPane.TabDragPolicy`
  `getTabDragPolicy()`
  Gets the value of the `tabDragPolicy` property.
  `final double`
  `getTabMaxHeight()`
  Gets the value of the `tabMaxHeight` property.
  `final double`
  `getTabMaxWidth()`
  Gets the value of the `tabMaxWidth` property.
  `final double`
  `getTabMinHeight()`
  Gets the value of the `tabMinHeight` property.
  `final double`
  `getTabMinWidth()`
  Gets the value of the `tabMinWidth` property.
  `final ObservableList<Tab>`
  `getTabs()`
  The tabs to display in this TabPane.
  `final boolean`
  `isRotateGraphic()`
  Gets the value of the `rotateGraphic` property.
  `final BooleanProperty`
  `rotateGraphicProperty()`
  Specifies whether the graphic inside a `Tab` is rotated or not, such that it is always upright, or rotated in the same way as the `Tab` text is.
  `final ObjectProperty<SingleSelectionModel<Tab>>`
  `selectionModelProperty()`
  The selection model used for selecting tabs.
  `final void`
  `setRotateGraphic(boolean value)`
  Sets the value of the `rotateGraphic` property.
  `final void`
  `setSelectionModel(SingleSelectionModel<Tab> value)`
  Sets the value of the `selectionModel` property.
  `final void`
  `setSide(Side value)`
  Sets the value of the `side` property.
  `final void`
  `setTabClosingPolicy(TabPane.TabClosingPolicy value)`
  Sets the value of the `tabClosingPolicy` property.
  `final void`
  `setTabDragPolicy(TabPane.TabDragPolicy value)`
  Sets the value of the `tabDragPolicy` property.
  `final void`
  `setTabMaxHeight(double value)`
  Sets the value of the `tabMaxHeight` property.
  `final void`
  `setTabMaxWidth(double value)`
  Sets the value of the `tabMaxWidth` property.
  `final void`
  `setTabMinHeight(double value)`
  Sets the value of the `tabMinHeight` property.
  `final void`
  `setTabMinWidth(double value)`
  Sets the value of the `tabMinWidth` property.
  `final ObjectProperty<Side>`
  `sideProperty()`
  The position to place the tabs in this `TabPane`.
  `final ObjectProperty<TabPane.TabClosingPolicy>`
  `tabClosingPolicyProperty()`
  Specifies how the `TabPane` handles tab closing from an end-user's perspective.
  `final ObjectProperty<TabPane.TabDragPolicy>`
  `tabDragPolicyProperty()`
  The drag policy for the tabs.
  `final DoubleProperty`
  `tabMaxHeightProperty()`
  The maximum height of a `Tab` in the `TabPane`.
  `final DoubleProperty`
  `tabMaxWidthProperty()`
  The maximum width of a `Tab` in the `TabPane`.
  `final DoubleProperty`
  `tabMinHeightProperty()`
  The minimum height of a `Tab` in the `TabPane`.
  `final DoubleProperty`
  `tabMinWidthProperty()`
  The minimum width of a `Tab` in the `TabPane`.

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

  `computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, 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, 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`

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

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

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

  `getStyleableNode`

- ## Property Details

  - ### selectionModel

    public final ObjectProperty<SingleSelectionModel<Tab>> selectionModelProperty
    The selection model used for selecting tabs. Changing the model alters how the tabs are selected and which tabs are first or last.
    See Also:
      - `getSelectionModel()`
      - `setSelectionModel(SingleSelectionModel)`
      - `selectionModelProperty()`

  - ### side

    public final ObjectProperty<Side> sideProperty
    The position to place the tabs in this `TabPane`. Changes to the value of this property immediately updates the location of the tabs.
    Default value:
      `Side.Top`
    See Also:
      - `getSide()`
      - `setSide(Side)`
      - `sideProperty()`

  - ### tabClosingPolicy

    public final ObjectProperty<TabPane.TabClosingPolicy> tabClosingPolicyProperty
    Specifies how the `TabPane` handles tab closing from an end-user's perspective.

    Refer to the `TabPane.TabClosingPolicy` enumeration for further details.

    Default value:
      `TabClosingPolicy.SELECTED_TAB`
    See Also:
      - `getTabClosingPolicy()`
      - `setTabClosingPolicy(TabPane.TabClosingPolicy)`
      - `tabClosingPolicyProperty()`

  - ### rotateGraphic

    public final BooleanProperty rotateGraphicProperty
    Specifies whether the graphic inside a `Tab` is rotated or not, such that it is always upright, or rotated in the same way as the `Tab` text is.

    If the value is `false`, the graphic isn't rotated, resulting in it always appearing upright. If the value is `true`, the graphic is rotated with the `Tab` text.

    Default value:
      `false`
    See Also:
      - `isRotateGraphic()`
      - `setRotateGraphic(boolean)`
      - `rotateGraphicProperty()`

  - ### tabMinWidth

    public final DoubleProperty tabMinWidthProperty
    The minimum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. Setting the same minimum and maximum widths will fix the width of the `Tab`.

    This value can also be set via CSS using `-fx-tab-min-width`.

    Default value:
      0
    See Also:
      - `getTabMinWidth()`
      - `setTabMinWidth(double)`
      - `tabMinWidthProperty()`

  - ### tabMaxWidth

    public final DoubleProperty tabMaxWidthProperty
    The maximum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. If the `Tab` text is longer than the maximum width, the text will be truncated. Setting the same minimum and maximum widths will fix the width of the `Tab`.

    This value can also be set via CSS using `-fx-tab-max-width`.

    Default value:
      `Double.MAX_VALUE`
    See Also:
      - `getTabMaxWidth()`
      - `setTabMaxWidth(double)`
      - `tabMaxWidthProperty()`

  - ### tabMinHeight

    public final DoubleProperty tabMinHeightProperty
    The minimum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

    This value can also be set via CSS using `-fx-tab-min-height`.

    Default value:
      0
    See Also:
      - `getTabMinHeight()`
      - `setTabMinHeight(double)`
      - `tabMinHeightProperty()`

  - ### tabMaxHeight

    public final DoubleProperty tabMaxHeightProperty
    The maximum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

    This value can also be set via CSS using `-fx-tab-max-height`.

    Default value:
      `Double.MAX_VALUE`
    See Also:
      - `getTabMaxHeight()`
      - `setTabMaxHeight(double)`
      - `tabMaxHeightProperty()`

  - ### tabDragPolicy

    public final ObjectProperty<TabPane.TabDragPolicy> tabDragPolicyProperty
    The drag policy for the tabs. It specifies if tabs can be reordered or not.
    Default value:
      `TabDragPolicy.FIXED`
    Since:
      10
    See Also:
      - `getTabDragPolicy()`
      - `setTabDragPolicy(TabPane.TabDragPolicy)`
      - `tabDragPolicyProperty()`

- ## Field Details

  - ### STYLE_CLASS_FLOATING

    public static final String STYLE_CLASS_FLOATING
    TabPane mode will be changed to floating allowing the TabPane to be placed alongside other control.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### TabPane

    public TabPane()
    Constructs a new TabPane.

  - ### TabPane

    public TabPane(Tab... tabs)
    Constructs a new TabPane with the given tabs set to show.
    Parameters:
      `tabs` - The `tabs` to display inside the TabPane.
    Since:
      JavaFX 8u40

- ## Method Details

  - ### getTabs

    public final ObservableList<Tab> getTabs()
    The tabs to display in this TabPane. Changing this ObservableList will immediately result in the TabPane updating to display the new contents of this ObservableList.

    If the tabs ObservableList changes, the selected tab will remain the previously selected tab, if it remains within this ObservableList. If the previously selected tab is no longer in the tabs ObservableList, the selected tab will become the first tab in the ObservableList.

    Returns:
      the list of tabs

  - ### setSelectionModel

    public final void setSelectionModel(SingleSelectionModel<Tab> value)
    Sets the value of the `selectionModel` property.
    Property description:
      The selection model used for selecting tabs. Changing the model alters how the tabs are selected and which tabs are first or last.
    Parameters:
      `value` - the value for the `selectionModel` property
    See Also:
      - `getSelectionModel()`
      - `selectionModelProperty()`

  - ### getSelectionModel

    public final SingleSelectionModel<Tab> getSelectionModel()
    Gets the value of the `selectionModel` property.
    Property description:
      The selection model used for selecting tabs. Changing the model alters how the tabs are selected and which tabs are first or last.
    Returns:
      the value of the `selectionModel` property
    See Also:
      - `setSelectionModel(SingleSelectionModel)`
      - `selectionModelProperty()`

  - ### selectionModelProperty

    public final ObjectProperty<SingleSelectionModel<Tab>> selectionModelProperty()
    The selection model used for selecting tabs. Changing the model alters how the tabs are selected and which tabs are first or last.
    Returns:
      the `selectionModel` property
    See Also:
      - `getSelectionModel()`
      - `setSelectionModel(SingleSelectionModel)`

  - ### setSide

    public final void setSide(Side value)
    Sets the value of the `side` property.
    Property description:
      The position to place the tabs in this `TabPane`. Changes to the value of this property immediately updates the location of the tabs.
    Default value:
      `Side.Top`
    Parameters:
      `value` - the value for the `side` property
    See Also:
      - `getSide()`
      - `sideProperty()`

  - ### getSide

    public final Side getSide()
    Gets the value of the `side` property.
    Property description:
      The position to place the tabs in this `TabPane`. Changes to the value of this property immediately updates the location of the tabs.
    Default value:
      `Side.Top`
    Returns:
      the value of the `side` property
    See Also:
      - `setSide(Side)`
      - `sideProperty()`

  - ### sideProperty

    public final ObjectProperty<Side> sideProperty()
    The position to place the tabs in this `TabPane`. Changes to the value of this property immediately updates the location of the tabs.
    Default value:
      `Side.Top`
    Returns:
      the `side` property
    See Also:
      - `getSide()`
      - `setSide(Side)`

  - ### setTabClosingPolicy

    public final void setTabClosingPolicy(TabPane.TabClosingPolicy value)
    Sets the value of the `tabClosingPolicy` property.
    Property description:
      Specifies how the `TabPane` handles tab closing from an end-user's perspective.

      Refer to the `TabPane.TabClosingPolicy` enumeration for further details.

    Default value:
      `TabClosingPolicy.SELECTED_TAB`
    Parameters:
      `value` - the value for the `tabClosingPolicy` property
    See Also:
      - `getTabClosingPolicy()`
      - `tabClosingPolicyProperty()`

  - ### getTabClosingPolicy

    public final TabPane.TabClosingPolicy getTabClosingPolicy()
    Gets the value of the `tabClosingPolicy` property.
    Property description:
      Specifies how the `TabPane` handles tab closing from an end-user's perspective.

      Refer to the `TabPane.TabClosingPolicy` enumeration for further details.

    Default value:
      `TabClosingPolicy.SELECTED_TAB`
    Returns:
      the value of the `tabClosingPolicy` property
    See Also:
      - `setTabClosingPolicy(TabPane.TabClosingPolicy)`
      - `tabClosingPolicyProperty()`

  - ### tabClosingPolicyProperty

    public final ObjectProperty<TabPane.TabClosingPolicy> tabClosingPolicyProperty()
    Specifies how the `TabPane` handles tab closing from an end-user's perspective.

    Refer to the `TabPane.TabClosingPolicy` enumeration for further details.

    Default value:
      `TabClosingPolicy.SELECTED_TAB`
    Returns:
      the `tabClosingPolicy` property
    See Also:
      - `getTabClosingPolicy()`
      - `setTabClosingPolicy(TabPane.TabClosingPolicy)`

  - ### setRotateGraphic

    public final void setRotateGraphic(boolean value)
    Sets the value of the `rotateGraphic` property.
    Property description:
      Specifies whether the graphic inside a `Tab` is rotated or not, such that it is always upright, or rotated in the same way as the `Tab` text is.

      If the value is `false`, the graphic isn't rotated, resulting in it always appearing upright. If the value is `true`, the graphic is rotated with the `Tab` text.

    Default value:
      `false`
    Parameters:
      `value` - the value for the `rotateGraphic` property
    See Also:
      - `isRotateGraphic()`
      - `rotateGraphicProperty()`

  - ### isRotateGraphic

    public final boolean isRotateGraphic()
    Gets the value of the `rotateGraphic` property.
    Property description:
      Specifies whether the graphic inside a `Tab` is rotated or not, such that it is always upright, or rotated in the same way as the `Tab` text is.

      If the value is `false`, the graphic isn't rotated, resulting in it always appearing upright. If the value is `true`, the graphic is rotated with the `Tab` text.

    Default value:
      `false`
    Returns:
      the value of the `rotateGraphic` property
    See Also:
      - `setRotateGraphic(boolean)`
      - `rotateGraphicProperty()`

  - ### rotateGraphicProperty

    public final BooleanProperty rotateGraphicProperty()
    Specifies whether the graphic inside a `Tab` is rotated or not, such that it is always upright, or rotated in the same way as the `Tab` text is.

    If the value is `false`, the graphic isn't rotated, resulting in it always appearing upright. If the value is `true`, the graphic is rotated with the `Tab` text.

    Default value:
      `false`
    Returns:
      the `rotateGraphic` property
    See Also:
      - `isRotateGraphic()`
      - `setRotateGraphic(boolean)`

  - ### setTabMinWidth

    public final void setTabMinWidth(double value)
    Sets the value of the `tabMinWidth` property.
    Property description:
      The minimum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. Setting the same minimum and maximum widths will fix the width of the `Tab`.

      This value can also be set via CSS using `-fx-tab-min-width`.

    Default value:
      0
    Parameters:
      `value` - the value for the `tabMinWidth` property
    See Also:
      - `getTabMinWidth()`
      - `tabMinWidthProperty()`

  - ### getTabMinWidth

    public final double getTabMinWidth()
    Gets the value of the `tabMinWidth` property.
    Property description:
      The minimum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. Setting the same minimum and maximum widths will fix the width of the `Tab`.

      This value can also be set via CSS using `-fx-tab-min-width`.

    Default value:
      0
    Returns:
      the value of the `tabMinWidth` property
    See Also:
      - `setTabMinWidth(double)`
      - `tabMinWidthProperty()`

  - ### tabMinWidthProperty

    public final DoubleProperty tabMinWidthProperty()
    The minimum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. Setting the same minimum and maximum widths will fix the width of the `Tab`.

    This value can also be set via CSS using `-fx-tab-min-width`.

    Default value:
      0
    Returns:
      the `tabMinWidth` property
    See Also:
      - `getTabMinWidth()`
      - `setTabMinWidth(double)`

  - ### setTabMaxWidth

    public final void setTabMaxWidth(double value)
    Sets the value of the `tabMaxWidth` property.
    Property description:
      The maximum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. If the `Tab` text is longer than the maximum width, the text will be truncated. Setting the same minimum and maximum widths will fix the width of the `Tab`.

      This value can also be set via CSS using `-fx-tab-max-width`.

    Default value:
      `Double.MAX_VALUE`
    Parameters:
      `value` - the value for the `tabMaxWidth` property
    See Also:
      - `getTabMaxWidth()`
      - `tabMaxWidthProperty()`

  - ### getTabMaxWidth

    public final double getTabMaxWidth()
    Gets the value of the `tabMaxWidth` property.
    Property description:
      The maximum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. If the `Tab` text is longer than the maximum width, the text will be truncated. Setting the same minimum and maximum widths will fix the width of the `Tab`.

      This value can also be set via CSS using `-fx-tab-max-width`.

    Default value:
      `Double.MAX_VALUE`
    Returns:
      the value of the `tabMaxWidth` property
    See Also:
      - `setTabMaxWidth(double)`
      - `tabMaxWidthProperty()`

  - ### tabMaxWidthProperty

    public final DoubleProperty tabMaxWidthProperty()
    The maximum width of a `Tab` in the `TabPane`. This can be used to limit the length of text in tabs to prevent truncation. If the `Tab` text is longer than the maximum width, the text will be truncated. Setting the same minimum and maximum widths will fix the width of the `Tab`.

    This value can also be set via CSS using `-fx-tab-max-width`.

    Default value:
      `Double.MAX_VALUE`
    Returns:
      the `tabMaxWidth` property
    See Also:
      - `getTabMaxWidth()`
      - `setTabMaxWidth(double)`

  - ### setTabMinHeight

    public final void setTabMinHeight(double value)
    Sets the value of the `tabMinHeight` property.
    Property description:
      The minimum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

      This value can also be set via CSS using `-fx-tab-min-height`.

    Default value:
      0
    Parameters:
      `value` - the value for the `tabMinHeight` property
    See Also:
      - `getTabMinHeight()`
      - `tabMinHeightProperty()`

  - ### getTabMinHeight

    public final double getTabMinHeight()
    Gets the value of the `tabMinHeight` property.
    Property description:
      The minimum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

      This value can also be set via CSS using `-fx-tab-min-height`.

    Default value:
      0
    Returns:
      the value of the `tabMinHeight` property
    See Also:
      - `setTabMinHeight(double)`
      - `tabMinHeightProperty()`

  - ### tabMinHeightProperty

    public final DoubleProperty tabMinHeightProperty()
    The minimum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

    This value can also be set via CSS using `-fx-tab-min-height`.

    Default value:
      0
    Returns:
      the `tabMinHeight` property
    See Also:
      - `getTabMinHeight()`
      - `setTabMinHeight(double)`

  - ### setTabMaxHeight

    public final void setTabMaxHeight(double value)
    Sets the value of the `tabMaxHeight` property.
    Property description:
      The maximum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

      This value can also be set via CSS using `-fx-tab-max-height`.

    Default value:
      `Double.MAX_VALUE`
    Parameters:
      `value` - the value for the `tabMaxHeight` property
    See Also:
      - `getTabMaxHeight()`
      - `tabMaxHeightProperty()`

  - ### getTabMaxHeight

    public final double getTabMaxHeight()
    Gets the value of the `tabMaxHeight` property.
    Property description:
      The maximum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

      This value can also be set via CSS using `-fx-tab-max-height`.

    Default value:
      `Double.MAX_VALUE`
    Returns:
      the value of the `tabMaxHeight` property
    See Also:
      - `setTabMaxHeight(double)`
      - `tabMaxHeightProperty()`

  - ### tabMaxHeightProperty

    public final DoubleProperty tabMaxHeightProperty()
    The maximum height of a `Tab` in the `TabPane`. This can be used to limit the height of tabs. Setting the same minimum and maximum heights will fix the height of the `Tab`.

    This value can also be set via CSS using `-fx-tab-max-height`.

    Default value:
      `Double.MAX_VALUE`
    Returns:
      the `tabMaxHeight` property
    See Also:
      - `getTabMaxHeight()`
      - `setTabMaxHeight(double)`

  - ### getClassCssMetaData

    public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
    Gets the `CssMetaData` associated with this class, which may include the `CssMetaData` of its superclasses.
    Returns:
      the `CssMetaData`
    Since:
      JavaFX 8.0

  - ### getControlCssMetaData

    public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
    Gets the unmodifiable list of the control's CSS-styleable properties.
    Overrides:
      `getControlCssMetaData` in class `Control`
    Returns:
      the unmodifiable list of the control's CSS-styleable properties
    Since:
      JavaFX 8.0

  - ### tabDragPolicyProperty

    public final ObjectProperty<TabPane.TabDragPolicy> tabDragPolicyProperty()
    The drag policy for the tabs. It specifies if tabs can be reordered or not.
    Default value:
      `TabDragPolicy.FIXED`
    Returns:
      the `tabDragPolicy` property
    Since:
      10
    See Also:
      - `getTabDragPolicy()`
      - `setTabDragPolicy(TabPane.TabDragPolicy)`

  - ### setTabDragPolicy

    public final void setTabDragPolicy(TabPane.TabDragPolicy value)
    Sets the value of the `tabDragPolicy` property.
    Property description:
      The drag policy for the tabs. It specifies if tabs can be reordered or not.
    Default value:
      `TabDragPolicy.FIXED`
    Parameters:
      `value` - the value for the `tabDragPolicy` property
    Since:
      10
    See Also:
      - `getTabDragPolicy()`
      - `tabDragPolicyProperty()`

  - ### getTabDragPolicy

    public final TabPane.TabDragPolicy getTabDragPolicy()
    Gets the value of the `tabDragPolicy` property.
    Property description:
      The drag policy for the tabs. It specifies if tabs can be reordered or not.
    Default value:
      `TabDragPolicy.FIXED`
    Returns:
      the value of the `tabDragPolicy` property
    Since:
      10
    See Also:
      - `setTabDragPolicy(TabPane.TabDragPolicy)`
      - `tabDragPolicyProperty()`