繁体   English   中英

在 JavaFX 中更改 TabPane 的 Tab 大小

[英]Change Tab's Size of TabPane in JavaFX

我们可以在 JavaFX 中更改 TabPane 的选项卡大小吗? 我正在使用 SceneBuilder,但它似乎不提供选项卡大小的任何自定义

目前我有这样的事情

.

我想要的基本上是填充父级的选项卡,当它被点击时,它会显示像这样的其他表单(我用按钮制作的只是粗略的图像)

在此处输入图片说明

有可能做这样的事情吗? 任何帮助表示赞赏。 谢谢

据我所知,元素的宽度和高度是只读的。 您可以设置 -fx-pref-width、-fx-pref-height、-fx-max-width、-fx-min-width、-fx-max-height、-fx-min-height、-fx-border- width 和 -fx-border-height 来调整 Java FX 元素的大小。

你可以使用 Css 做你想做的事:

.tab {

    -fx-pref-width: 250
} 
.tab-header-background {
    -fx-background-color:transparent
}

.tab-pane{
    -fx-padding: 0 -1 -1 -1
}

在此处输入图片说明

我们可以为 TabPane 上的所有选项卡设置最小/最大宽度/高度。

@FXML
TabPane tabPane;

和某处:

tabPane.setTabMinWidth(33);
tabPane.setTabMinHeight(33);
tabPane.setTabMaxWidth(69);
tabPane.setTabMaxHeight(69);

您可以通过属性绑定来实现这一点:

val binding = tabPaneParent.widthProperty().doubleBinding(tabPane.tabs) {
    it as Double / tabPane.tabs.size // - 30
}

tabPane.tabMinWidthProperty().bind(binding)
tabPane.tabMaxWidthProperty().bind(binding)

tabPaneParent是在节点tabPane生活, doubleBinding是TornadoFX的equivlant Bindings#createDoubleBinding

这将对用户调整窗口大小以及选项卡计数增加/减少做出反应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM