提问者:小点点

JavaFX 2.0 TabPane:制表符位于左侧并保持制表符标题水平


我正试图为一个web应用程序开发一个GUI,我想设置一个TabPane,在左侧放置选项卡,使选项卡标题保持水平。我已经找到了如何将标签放在左边,但经过多次搜索,我没有成功将标题设置在右边。它们仍然是垂直的,很难阅读。

我怎么能修好它?


共3个答案

匿名用户

您可以使用CSS自定义选项卡和选项卡标签:

.tab *.tab-label {
    -fx-rotate: 90;
}

.tab {
    -fx-padding: 3em 0.5em 3em 0.5em;
}

匿名用户

这是一个开放的特性请求:RT-19547新的API,用于旋转tabpane选项卡上的文本

功能请求当前处于打开状态,但未计划实现。您可以投票支持或评论功能请求,并链接回此StackOverflow帖子以注册您对该功能的兴趣。

要自己实现这一点,您需要创建一个新的TabPane皮肤或修补现有的TabPane皮肤,这可能并不简单。

匿名用户

在代码中添加此方法,并将 tabPane 传递给它:

void setTabPaneLeftTabsHorizontal(TabPane tabPane){

    tabPane.setSide(Side.LEFT);
    tabPane.setRotateGraphic(true);        

    Label l = null;
    StackPane stp = null;
    for(Tab t : tabPane.getTabs()){
        l = new Label(t.getText());
        l.setRotate(90);
        stp = new StackPane(new Group(l));
        stp.setRotate(90);
        t.setGraphic(stp);
        t.setText("");
    }
    
    tabPane.setTabMinHeight(100);
    tabPane.setTabMaxHeight(100);
}