Class TabPane

All Implemented Interfaces:
LayoutMeasurable, LayoutMeasurableMixin, HasBackgroundProperty, HasBlendModeProperty, HasBorderProperty, HasClipProperty, HasEffectProperty, HasHeightProperty, HasLayoutXProperty, HasLayoutYProperty, HasManagedProperty, HasMaxHeightProperty, HasMaxWidthProperty, HasMinHeightProperty, HasMinWidthProperty, HasMouseTransparentProperty, HasOnMouseClickedProperty, HasOpacityProperty, HasPaddingProperty, HasParentProperty, HasPrefHeightProperty, HasPrefWidthProperty, HasSnapToPixelProperty, HasVisibleProperty, HasWidthProperty, Styleable, EventTarget, Skinnable, INode, PreferenceResizableNode

@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:
  • Property Details

  • 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:
  • 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.

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

    • getSelectionModel

      public final SingleSelectionModel<Tab> getSelectionModel()

      Gets the model used for tab selection.

    • selectionModelProperty

      public final ObjectProperty<SingleSelectionModel<Tab>> selectionModelProperty()
      The selection model used for selecting tabs.
      Returns:
      the selectionModel property
      See Also:
    • 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.

    • 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:
    • 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
    • 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 tabClosingPolicy property
      See Also:
    • 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.

    • 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 rotatedGraphic state of the tabs in the TabPane.
      Returns:
      the rotateGraphic property
      See Also:
    • 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

    • 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 tabMinWidth property
      See Also:
    • 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

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

    • 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 tabMinHeight property
      See Also:
    • 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

      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.

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