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(200,200, Color.LIGHTSTEELBLUE));
     tabPane.getTabs().add(tab);

Since:
  JavaFX 2.0
See Also:
  - `Tab`

## Property Summary

Properties
Type
Property
Description
`final BooleanProperty`
`rotateGraphic`
The rotateGraphic state of the tabs in the TabPane.
`final ObjectProperty<SingleSelectionModel<Tab>>`
`selectionModel`
The selection model used for selecting tabs.
`final ObjectProperty<Side>`
`side`
The position of the tabs in the TabPane.
`final ObjectProperty<TabPane.TabClosingPolicy>`
`tabClosingPolicy`
The closing policy for the tabs.
`final ObjectProperty<TabPane.TabDragPolicy>`
`tabDragPolicy`
The drag policy for the tabs.
`final DoubleProperty`
`tabMaxHeight`
The maximum height of the tabs in the TabPane.
`final DoubleProperty`
`tabMaxWidth`
The maximum width of the tabs in the TabPane.
`final DoubleProperty`
`tabMinHeight`
The minimum height of the tab.
`final DoubleProperty`
`tabMinWidth`
The minimum width of the tabs in the TabPane.

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

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`TabPane.TabClosingPolicy`
This specifies how the TabPane handles tab closing from an end-users 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 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
`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
`protected Skin<?>`
`createDefaultSkin()`
Create a new instance of the default skin for this control.
`static List<CssMetaData<? extends Styleable,?>>`
`getClassCssMetaData()`
`List<CssMetaData<? extends Styleable,?>>`
`getControlCssMetaData()`
`final SingleSelectionModel<Tab>`
`getSelectionModel()`
Gets the model used for tab selection.
`final Side`
`getSide()`
The current position of the tabs in the TabPane.
`final TabPane.TabClosingPolicy`
`getTabClosingPolicy()`
The closing policy for the tabs.
`final TabPane.TabDragPolicy`
`getTabDragPolicy()`
Gets the value of the `tabDragPolicy` property.
`final double`
`getTabMaxHeight()`
The maximum height of the tabs in the TabPane.
`final double`
`getTabMaxWidth()`
The maximum width of the tabs in the TabPane.
`final double`
`getTabMinHeight()`
The minimum height of the tabs in the TabPane.
`final double`
`getTabMinWidth()`
The minimum width of the tabs in the TabPane.
`final ObservableList<Tab>`
`getTabs()`
The tabs to display in this TabPane.
`final boolean`
`isRotateGraphic()`
Returns `true` if the graphic inside a Tab is rotated.
`Node`
`lookup(String selector)`
Finds this `Node`, or the first sub-node, based on the given CSS selector.
`Set<Node>`
`lookupAll(String selector)`
Finds all `Node`s, including this one and any children, which match the given CSS selector.
`final BooleanProperty`
`rotateGraphicProperty()`
The rotateGraphic state of the tabs in the TabPane.
`final ObjectProperty<SingleSelectionModel<Tab>>`
`selectionModelProperty()`
The selection model used for selecting tabs.
`final void`
`setRotateGraphic(boolean value)`
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 void`
`setSelectionModel(SingleSelectionModel<Tab> value)`
Sets the model used for tab selection.
`final void`
`setSide(Side value)`
The position to place the tabs in this TabPane.
`final void`
`setTabClosingPolicy(TabPane.TabClosingPolicy value)`
Specifies how the TabPane handles tab closing from an end-users perspective.
`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)`
The minimum height of the tabs in the TabPane.
`final void`
`setTabMinWidth(double value)`
The minimum width of the tabs in the TabPane.
`final ObjectProperty<Side>`
`sideProperty()`
The position of the tabs in the TabPane.
`final ObjectProperty<TabPane.TabClosingPolicy>`
`tabClosingPolicyProperty()`
The closing policy for the tabs.
`final ObjectProperty<TabPane.TabDragPolicy>`
`tabDragPolicyProperty()`
The drag policy for the tabs.
`final DoubleProperty`
`tabMaxHeightProperty()`
The maximum height of the tabs in the TabPane.
`final DoubleProperty`
`tabMaxWidthProperty()`
The maximum width of the tabs in the TabPane.
`final DoubleProperty`
`tabMinHeightProperty()`
The minimum height of the tab.
`final DoubleProperty`
`tabMinWidthProperty()`
The minimum width of the tabs in the TabPane.

### Methods inherited from class javafx.scene.control.Control

`computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, 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, 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, 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

### selectionModel

public final ObjectProperty<SingleSelectionModel<Tab>> selectionModelProperty
The selection model used for selecting tabs.

See Also:
  - `getSelectionModel()`
  - `setSelectionModel(SingleSelectionModel)`
  - `selectionModelProperty()`

### side

public final ObjectProperty<Side> sideProperty
The position of the tabs in the TabPane.

See Also:
  - `getSide()`
  - `setSide(Side)`
  - `sideProperty()`

### tabClosingPolicy

public final ObjectProperty<TabPane.TabClosingPolicy> tabClosingPolicyProperty
The closing policy for the tabs.

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

### rotateGraphic

public final BooleanProperty rotateGraphicProperty
The rotateGraphic state of the tabs in the TabPane.

See Also:
  - `isRotateGraphic()`
  - `setRotateGraphic(boolean)`
  - `rotateGraphicProperty()`

### tabMinWidth

public final DoubleProperty tabMinWidthProperty
The minimum width of the tabs in the TabPane.

See Also:
  - `getTabMinWidth()`
  - `setTabMinWidth(double)`
  - `tabMinWidthProperty()`

### tabMaxWidth

public final DoubleProperty tabMaxWidthProperty
The maximum width of the tabs in the TabPane.

See Also:
  - `tabMaxWidthProperty()`

### tabMinHeight

public final DoubleProperty tabMinHeightProperty
The minimum height of the tab.

See Also:
  - `getTabMinHeight()`
  - `setTabMinHeight(double)`
  - `tabMinHeightProperty()`

### tabMaxHeight

public final DoubleProperty tabMaxHeightProperty

The maximum height of the tabs in the TabPane.

See Also:
  - `tabMaxHeightProperty()`

### tabDragPolicy

public final ObjectProperty<TabPane.TabDragPolicy> tabDragPolicyProperty
The drag policy for the tabs. The policy can be changed dynamically.

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 model used for tab selection. By changing the model you can alter how the tabs are selected and which tabs are first or last.

Parameters:
  `value` - the selection model

### getSelectionModel

public final SingleSelectionModel<Tab> getSelectionModel()

Gets the model used for tab selection.

Returns:
  the model used for tab selection

### selectionModelProperty

public final ObjectProperty<SingleSelectionModel<Tab>> selectionModelProperty()
The selection model used for selecting tabs.

Returns:
  selection model property
See Also:
  - `getSelectionModel()`
  - `setSelectionModel(SingleSelectionModel)`

### setSide

public final void setSide(Side value)

The position to place the tabs in this TabPane. Whenever this changes the TabPane will immediately update the location of the tabs to reflect this.

Parameters:
  `value` - the side

### getSide

public final Side getSide()
The current position of the tabs in the TabPane. The default position for the tabs is Side.Top.

Returns:
  The current position of the tabs in the TabPane.

### sideProperty

public final ObjectProperty<Side> sideProperty()
The position of the tabs in the TabPane.

Returns:
  the side property
See Also:
  - `getSide()`
  - `setSide(Side)`

### setTabClosingPolicy

public final void setTabClosingPolicy(TabPane.TabClosingPolicy value)

Specifies how the TabPane handles tab closing from an end-users perspective. The options are:

- TabClosingPolicy.UNAVAILABLE: Tabs can not be closed by the user
- TabClosingPolicy.SELECTED_TAB: Only the currently selected tab will have the option to be closed, with a graphic next to the tab text being shown. The graphic will disappear when a tab is no longer selected.
- TabClosingPolicy.ALL_TABS: All tabs will have the option to be closed.

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

The default closing policy is TabClosingPolicy.SELECTED_TAB

Parameters:
  `value` - the closing policy

### getTabClosingPolicy

public final TabPane.TabClosingPolicy getTabClosingPolicy()
The closing policy for the tabs.

Returns:
  The closing policy for the tabs.

### tabClosingPolicyProperty

public final ObjectProperty<TabPane.TabClosingPolicy> tabClosingPolicyProperty()
The closing policy for the tabs.

Returns:
  the closing policy property
See Also:
  - `getTabClosingPolicy()`
  - `setTabClosingPolicy(TabPane.TabClosingPolicy)`

### setRotateGraphic

public final void setRotateGraphic(boolean value)

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.

By default rotateGraphic is set to false, to represent the fact that the graphic isn't rotated, resulting in it always appearing upright. If rotateGraphic is set to `true`, the graphic will rotate such that it rotates with the tab text.

Parameters:
  `value` - a flag indicating whether to rotate the graphic

### isRotateGraphic

public final boolean isRotateGraphic()
Returns `true` if the graphic inside a Tab is rotated. The default is `false`

Returns:
  the rotatedGraphic state.

### rotateGraphicProperty

public final BooleanProperty rotateGraphicProperty()
The rotateGraphic state of the tabs in the TabPane.

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

### setTabMinWidth

public final void setTabMinWidth(double value)

The minimum width of the tabs in the TabPane. This can be used to limit the length of text in tabs to prevent truncation. Setting the min equal to the max will fix the width of the tab. By default the min equals to the max. This value can also be set via CSS using `-fx-tab-min-width`

Parameters:
  `value` - the minimum width of the tabs

### getTabMinWidth

public final double getTabMinWidth()
The minimum width of the tabs in the TabPane.

Returns:
  The minimum width of the tabs

### tabMinWidthProperty

public final DoubleProperty tabMinWidthProperty()
The minimum width of the tabs in the TabPane.

Returns:
  the minimum width property
See Also:
  - `getTabMinWidth()`
  - `setTabMinWidth(double)`

### setTabMaxWidth

public final void setTabMaxWidth(double value)
Sets the value of the `tabMaxWidth` property.

Property description:

  Specifies the maximum width of a tab. This can be used to limit the length of text in tabs. If the tab text is longer than the maximum width the text will be truncated. Setting the max equal to the min will fix the width of the tab. By default the min equals to the max This value can also be set via CSS using `-fx-tab-max-width`.

Parameters:
  `value` - the value for the `tabMaxWidth` property
See Also:
  - `getTabMaxWidth()`
  - `tabMaxWidthProperty()`

### getTabMaxWidth

public final double getTabMaxWidth()
The maximum width of the tabs in the TabPane.

Returns:
  The maximum width of the tabs

### tabMaxWidthProperty

public final DoubleProperty tabMaxWidthProperty()
The maximum width of the tabs in the TabPane.

Returns:
  the maximum width property

### setTabMinHeight

public final void setTabMinHeight(double value)

The minimum height of the tabs in the TabPane. This can be used to limit the height in tabs. Setting the min equal to the max will fix the height of the tab. By default the min equals to the max. This value can also be set via CSS using `-fx-tab-min-height`

Parameters:
  `value` - the minimum height of the tabs

### getTabMinHeight

public final double getTabMinHeight()
The minimum height of the tabs in the TabPane.

Returns:
  the minimum height of the tabs

### tabMinHeightProperty

public final DoubleProperty tabMinHeightProperty()
The minimum height of the tab.

Returns:
  the minimum height 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 if the tabs in the TabPane. This can be used to limit the height in tabs. Setting the max equal to the min will fix the height of the tab. By default the min equals to the max. This value can also be set via CSS using -fx-tab-max-height

Parameters:
  `value` - the value for the `tabMaxHeight` property
See Also:
  - `getTabMaxHeight()`
  - `tabMaxHeightProperty()`

### getTabMaxHeight

public final double getTabMaxHeight()
The maximum height of the tabs in the TabPane.

Returns:
  The maximum height of the tabs

### tabMaxHeightProperty

public final DoubleProperty tabMaxHeightProperty()

The maximum height of the tabs in the TabPane.

Returns:
  the maximum height of the tabs

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

### lookup

public Node lookup(String selector)
Finds this `Node`, or the first sub-node, based on the given CSS selector. If this node is a `Parent`, then this function will traverse down into the branch until it finds a match. If more than one sub-node matches the specified selector, this function returns the first of them.

For example, if a Node is given the id of "myId", then the lookup method can be used to find this node as follows: `scene.lookup("#myId");`.

Overrides:
  `lookup` in class `Parent`
Parameters:
  `selector` - The css selector of the node to find
Returns:
  The first node, starting from this `Node`, which matches the CSS `selector`, null if none is found.

### lookupAll

public Set<Node> lookupAll(String selector)
Finds all `Node`s, including this one and any children, which match the given CSS selector. If no matches are found, an empty unmodifiable set is returned. The set is explicitly unordered.

Overrides:
  `lookupAll` in class `Node`
Parameters:
  `selector` - The css selector of the nodes to find
Returns:
  All nodes, starting from and including this `Node`, which match the CSS `selector`. The returned set is always unordered and unmodifiable, and never null.

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

public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()

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

### tabDragPolicyProperty

public final ObjectProperty<TabPane.TabDragPolicy> tabDragPolicyProperty()
The drag policy for the tabs. The policy can be changed dynamically.

Default value:
  TabDragPolicy.FIXED
Returns:
  The tab drag policy 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. The policy can be changed dynamically.
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. The policy can be changed dynamically.
Default value:
  TabDragPolicy.FIXED
Returns:
  the value of the `tabDragPolicy` property
Since:
  10
See Also:
  - `setTabDragPolicy(TabPane.TabDragPolicy)`
  - `tabDragPolicyProperty()`