Skip to content

Tab

自 2.2.1

Tab 是一个单独的选项卡头部元素。它显示一个文本标签,并根据其处于空闲、悬停或选中状态而改变背景纹理。选项卡通常在 TabView 中管理,由 TabView 处理选择逻辑。

INFO

UIElement 中记录的所有内容(布局、样式、事件、数据绑定等)同样适用于此处。


用法

选项卡通常与 TabView 一起创建:

java
var tabView = new TabView();

var tab1 = new Tab().setText("Settings");
var tab2 = new Tab().setText("Info");

tabView.addTab(tab1, new UIElement()); // 选项卡 + 其内容面板
tabView.addTab(tab2, new UIElement());
parent.addChild(tabView);

XML

xml
<tab-view>
    <tab text="Settings">
        <tab-content>
            <!-- 设置面板的子元素放在此处 -->
        </tab-content>
    </tab>
    <tab text="Info">
        <tab-content>
            <!-- 信息面板的子元素放在此处 -->
        </tab-content>
    </tab>
</tab-view>

INFO

Tab 通常作为 &lt;tab-view&gt; 的直接 XML 子元素放置。&lt;tab-content&gt; 元素指定与此选项卡关联的内容面板。

XML 属性类型描述
textstring标签文本(字面量,不进行翻译)。

内部结构

索引字段CSS 类描述
0text.__tab_text__显示选项卡文本的 Label 元素。

Tab 样式

TabStyle 采用与 Button 相同的三态纹理系统,但三种状态分别对应空闲悬停选中

INFO

base-background

选项卡处于空闲状态(未选中,未悬停)时的背景。

默认值:Sprites.TAB_DARK

java
tab.tabStyle(style -> style.baseTexture(myIdleTexture));

INFO

hover-background

鼠标悬停在选项卡上时的背景。

默认值:Sprites.TAB_WHITE

java
tab.tabStyle(style -> style.hoverTexture(myHoverTexture));

INFO

pressed-background

选项卡被选中时的背景(pressed-background 属性被复用于选中状态)。

默认值:Sprites.TAB

java
tab.tabStyle(style -> style.selectedTexture(mySelectedTexture));

CSS 状态

当选项卡被选中时,它会获得 CSS 类 .__tab_selected__。关联的内容元素会获得 .__tab_content_selected__


字段

名称类型访问权限描述
textLabelpublic final标签元素。
tabStyleTabStyleprivate (getter)当前选项卡样式。

方法

方法返回描述
setText(String)Tab设置标签文本(字面量)。
setText(String, boolean)Tab设置标签文本。true = 可翻译。
setText(Component)TabComponent 设置标签。
setDynamicText(Supplier&lt;Component&gt;)Tab将标签绑定到数据提供器以进行实时更新。
textStyle(Consumer&lt;TextElement.TextStyle&gt;)Tab流畅地配置标签的文本样式。
tabStyle(Consumer&lt;TabStyle&gt;)Tab流畅地配置 TabStyle
setOnTabSelected(Runnable)此选项卡被选中时调用的回调。
setOnTabUnselected(Runnable)此选项卡被取消选中时调用的回调。
getContent()UIElement (nullable)返回父级 TabView 中的内容面板。
getTabView()TabView (nullable)返回父级 TabView

Released under the MIT License.