我们可以在JavaFX中更改选项卡的TabPane大小吗?我正在使用SceneBuilder,但它似乎没有提供任何标签大小的自定义
目前我有类似的东西
我想要的基本上是填充父母的标签,当点击它时,它会显示其他形式(我用按钮作为粗略图像)
有可能做这样的事吗?任何帮助表示赞赏。感谢
答案 0 :(得分:4)
据我所知,元素的宽度和高度是只读的。您 可以设置-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
}
答案 1 :(得分:3)
我们可以为TabPane上的所有选项卡设置最小/最大宽度/高度。
@FXML
TabPane tabPane;
和某处:
tabPane.setTabMinWidth(33);
tabPane.setTabMinHeight(33);
tabPane.setTabMaxWidth(69);
tabPane.setTabMaxHeight(69);
答案 2 :(得分:0)
您可以通过属性绑定来实现:
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的Bindings#createDoubleBinding
等值货币。
这将对用户调整窗口大小以及选项卡计数的增加/减少做出反应。