Module  javafx.controls
软件包  javafx.scene.control

Class TabPane

  • All Implemented Interfaces:
    StyleableEventTargetSkinnable


    @DefaultProperty("tabs")
    public class TabPane
    extends Control

    允许在一组Tabs之间切换的控件 一次只能看到一个选项卡。 选项卡通过使用getTabs()添加到TabPane

    TabPane中的标签可以通过指定Side定位在四面中的任意一个

    TabPane有两种浮动或凹进的模式。 应用styleclass STYLE_CLASS_FLOATING将将TabPane模式更改为浮动。

    通过设置最小和最大的高度和宽度,可以将选项卡的宽度和高度设置为特定的大小。 TabPane默认宽度将由TabPane中最大的内容宽度确定。 这是相同的高度。 如果需要不同的尺寸,则可以通过设置min,pref和max尺寸来覆盖TabPane的宽度和高度。

    当选项卡的数量不符合TabPane时,右侧将出现一个菜单按钮。 菜单按钮用于选择当前不可见的选项卡。

    例:

       TabPane tabPane = new TabPane(); Tab tab = new Tab(); tab.setText("new tab"); tab.setContent(new Rectangle(200,200, Color.LIGHTSTEELBLUE)); tabPane.getTabs().add(tab);  
    从以下版本开始:
    JavaFX 2.0
    另请参见:
    Tab
    • 字段详细信息

      • STYLE_CLASS_FLOATING

        public static final String STYLE_CLASS_FLOATING
        TabPane模式将被更改为浮动,允许TabPane与其他控件一起放置。
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • TabPane

        public TabPane​()
        构造一个新的TabPane。
      • TabPane

        public TabPane​(Tab... tabs)
        构造一个新的TabPane,其中给定的选项卡设置为显示。
        参数
        tabs - 要在TabPane中显示的tabs
        从以下版本开始:
        JavaFX 8u40
    • 方法详细信息

      • getTabs

        public final ObservableList<Tab> getTabs​()

        要在此TabPane中显示的选项卡。 更改此ObservableList将立即导致TabPane更新以显示此ObservableList的新内容。

        如果选项卡ObservableList发生更改,则选定的选项卡将保留在先前选定的选项卡中,如果该选项卡保留在此ObservableList中。 如果先前选择的选项卡不再位于“可观察列表”选项卡中,则所选选项卡将成为“可观察列表”中的第一个选项卡。

        结果
        标签列表
      • setSelectionModel

        public final void setSelectionModel​(SingleSelectionModel<Tab> value)

        设置用于选项卡选择的模型。 通过更改模型,您可以更改选项卡的选择以及哪些选项卡是第一个还是最后一个。

        参数
        value - 选择模型
      • getSelectionModel

        public final SingleSelectionModel<Tab> getSelectionModel​()

        获取用于选项卡选择的模型。

        结果
        用于选项卡选择的模型
      • setSide

        public final void setSide​(Side value)

        将标签放置在此TabPane中的位置。 每当这个更改TabPane将立即更新选项卡的位置以反映这一点。

        参数
        value - 一边
      • getSide

        public final Side getSide​()
        TabPane中选项卡的当前位置。 选项卡的默认位置是Side.Top。
        结果
        TabPane中选项卡的当前位置。
      • setTabClosingPolicy

        public final void setTabClosingPolicy​(TabPane.TabClosingPolicy value)

        指定TabPane如何从最终用户角度处理标签关闭。 选项是:

        • TabClosingPolicy.UNAVAILABLE:用户无法关闭选项卡
        • TabClosingPolicy.SELECTED_TAB:只有当前选定的选项卡可以选择关闭,并显示标签文本旁边的图形。 当不再选择选项卡时,图形将消失。
        • TabClosingPolicy.ALL_TABS:所有选项卡都可以选择关闭。

        有关详细信息,请参阅TabPane.TabClosingPolicy枚举。

        默认关闭策略为TabClosingPolicy.SELECTED_TAB
        参数
        value - 关闭政策
      • getTabClosingPolicy

        public final TabPane.TabClosingPolicy getTabClosingPolicy​()
        选项卡的关闭策略。
        结果
        选项卡的关闭策略。
      • setRotateGraphic

        public final void setRotateGraphic​(boolean value)

        指定Tab中的图形是否旋转,使其始终是直立的,或者以与Tab文本相同的方式旋转。

        默认情况下,rotateGraphic设置为false,以表示图形不旋转的事实,导致它始终显示为直立。 如果rotateGraphic设置为true ,则图形将旋转,使其与标签文本一起旋转。

        参数
        value - 表示是否旋转图形的标志
      • isRotateGraphic

        public final boolean isRotateGraphic​()
        如果Tab中的图形旋转,则返回true 默认值为false
        结果
        旋转图形状态。
      • setTabMinWidth

        public final void setTabMinWidth​(double value)

        TabPane中选项卡的最小宽度。 这可以用来限制标签中的文本长度以防止截断。 将min设置为最大值将修复选项卡的宽度。 默认情况下,min等于max。 此值也可以通过CSS使用-fx-tab-min-width设置

        参数
        value - 选项卡的最小宽度
      • getTabMinWidth

        public final double getTabMinWidth​()
        TabPane中选项卡的最小宽度。
        结果
        标签的最小宽度
      • setTabMaxWidth

        public final void setTabMaxWidth​(double value)
        设置属性tabMaxWidth的值。
        Property description:

        指定选项卡的最大宽度。 这可以用来限制选项卡中的文本长度。 如果选项卡文本长于文本的最大宽度将被截断。 将max设置为最小值将会固定选项卡的宽度。 默认情况下,min等于max该值也可以通过CSS使用-fx-tab-max-width设置。

      • getTabMaxWidth

        public final double getTabMaxWidth​()
        TabPane中选项卡的最大宽度。
        结果
        标签的最大宽度
      • tabMaxWidthProperty

        public final DoubleProperty tabMaxWidthProperty​()
        TabPane中选项卡的最大宽度。
        结果
        最大宽度属性
      • setTabMinHeight

        public final void setTabMinHeight​(double value)

        TabPane中选项卡的最小高度。 这可以用来限制选项卡中的高度。 将最小值设置为最大值将修复选项卡的高度。 默认情况下,min等于max。 此值也可以通过CSS使用-fx-tab-min-height设置

        参数
        value - 标签的最小高度
      • getTabMinHeight

        public final double getTabMinHeight​()
        TabPane中选项卡的最小高度。
        结果
        标签的最小高度
      • setTabMaxHeight

        public final void setTabMaxHeight​(double value)
        设置属性tabMaxHeight的值。
        Property description:

        TabPane中的选项卡的最大高度。 这可以用来限制选项卡中的高度。 将max设置为min将会固定标签的高度。 默认情况下,min等于max。 也可以使用-fx-tab-max-height通过CSS设置此值

      • getTabMaxHeight

        public final double getTabMaxHeight​()
        TabPane中选项卡的最大高度。
        结果
        标签的最大高度
      • tabMaxHeightProperty

        public final DoubleProperty tabMaxHeightProperty​()

        TabPane中选项卡的最大高度。

        结果
        标签的最大高度
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        为此控件创建一个新的默认皮肤实例。 如果没有通过CSS -fx-skin提供皮肤或者在具有setSkin(...)的子类中显式设置,则调用此控件创建皮肤。
        重写:
        createDefaultSkinControl
        结果
        此控件的默认皮肤的新实例。 如果为null,则控件将没有皮肤,除非由css提供。
      • lookup

        public Node lookup​(String selector)
        根据给定的CSS选择器,找到这个Node或第一个子节点。 如果此节点为Parent ,则该函数将遍历到分支中,直到找到匹配项。 如果多个子节点与指定的选择器匹配,则此函数返回其中的第一个。

        例如,如果节点的ID为“myId”,则可以使用查找方法来查找此节点,如下所示: scene.lookup("#myId");

        重写:
        lookupParent
        参数
        selector - 要查找的节点的css选择器
        结果
        第一个节点,从这个 Node开始,与CSS selector匹配,如果没有找到, selector null。
      • lookupAll

        public Set<Node> lookupAll​(String selector)
        查找所有Node s,包括这个和任何孩子,匹配给定的CSS选择器。 如果没有找到匹配项,则返回一个空的不可修改的集合。 该集合是明确无序的。
        重写:
        lookupAllNode
        参数
        selector - 要查找的节点的css选择器
        结果
        所有节点,从包含这个Node ,它与CSS selector匹配。 返回的集合始终是无序的,不可修改的,永远不会为空。
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        结果
        与此类相关联的CssMetaData可能包括其类的CssMetaData。
        从以下版本开始:
        JavaFX 8.0